centos6.5安装FTP

Posted ysj1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos6.5安装FTP相关的知识,希望对你有一定的参考价值。

一、vsftp安装

yum -y install vsftpd   # 安装vsftpd
chkconfig vsftpd on   # 开启启动

二、vsftp相关命令

service vsftpd start    # 启动ftp服务
service vsftpd status   # 查看ftp服务状态
service vsftpd restart   # 重启ftp服务
service vsftpd stop     # 关闭ftp服务

三、vsftp配置

vim /etc/vsftpd/vsftpd.conf   #进入vsftpd配置文件
anonymous_enable=NO   # 禁止匿名用户anonymous登录
local_enable=YES   # 允许本地用户登录
write_enable=YES   # 让登录的用户有写权限(上传,删除)
local_umask=022   # 默认umask
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO      # 把传输记录的日志保存到/var/log/vsftpd.log
ascii_upload_enable=YES    # 允许ASCII模式上传
ascii_download_enable=YES   # 允许ASCII模式下载
connect_from_port_20=YES   # 使用20号端口传输数据
ftpd_banner=Welcome to use my test ftp server.   # 欢迎标语
# chroot_local_user设置了YES,那么所有的用户默认将被chroot, 也就用户目录被限制在了自己的home下,无法向上改变目录。
# chroot_list_enable设置了YES,即让chroot用户列表有效。


# ★超重要:如果chroot_local_user设置了YES,那么chroot_list_file 设置的文件里,是不被chroot的用户(可以向上改变目录)


# ★超重要:如果chroot_local_user设置了NO,那么chroot_list_file 设置的文件里,是被chroot的用户(无法向上改变目录)


# touch /etc/vsftpd/chroot_list 新建
chroot_list_file=/etc/vsftpd/chroot_list
use_localtime=YES
listen=YES   # 以standalone模式在ipv4上运行
# PAM认证服务名,这里默认是vsftpd,在安装vsftpd的时候已经创建了这个pam文件,
# 在/etc/pam.d/vsftpd,根据这个pam文件里的设置,/etc/vsftpd/ftpusers
# 文件里的用户将禁止登录ftp服务器,比如root这样敏感的用户,所以你要禁止别的用户
# 登录的时候,也可以把该用户追加到/etc/vsftpd/ftpusers里。
pam_service_name=vsftpd
service vsftpd restart   # 重启 vsftpd

四、vsftp用户

sudo useradd -d /home/ftp ysj     # 创建用户
chown -R username /home/ftp     # 设置用户到文件夹
usermod –s /sbin/nologin ysj    /禁止用户登录系统

chown -R 777  /home/ftp        /设置该文件的权限

passwd ysj -> 密码 -> 确认密码    # 添加密码

 

访问ftp时字符乱码问题:

1.修改LANG环境变量 [[email protected] ~]vim /etc/sysconfig/i18n

LANG =“zh_CN.UTF-8”

查看相关字符集命令[[email protected] ~]# locale

浏览器默认为Unicode(UTF-8)

 

 

 

 

 

 

 

 

 

 

 

配置vsftpd使不同的虚拟用户使用不同的目录

需求:

t1     只能上传文件

t2     只能下载文件

t3     上传下载文件,同时可以创建文件夹,修改文件的名称

1创建文本文件loguser.txt

格式如下:

user_id

password

创建建3个虚拟用户,密码是与用户名相同,创建虚拟用户数据库

于是,我们/etc/vsftpd/login.txt文件的内容为

t1

111

t2

222

t3

333

2 生成数据库

如果你以前没装过libdb4.7-util 或者你不清楚装没装,需先执行下面的命令

rpm-qa |grep db4

然后,我们执行

db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db

最后设置一下数据库文件的访问权限

chmod 600 /etc/vsftpd/vsftpd_login.db

3 配置PAM文件

新建/etc/pam.d/vsftpd 内容如下:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

我们上一步建立的数据库 vsftpd_login 在此处被使用

我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd来启用的,稍后你将发现。

4为虚拟用户创建本地系统用户

新建一个系统用户ftp,用户家目录为/home/ftp, 用户登录终端设为/bin/false(即使之不能登录系统)

useradd ftp -d /home/ftp -s /sbin/nologin

chown ftp:ftp /home/ftp

5根据需要创建/etc/vsftpd.conf,一般要确保含有以下设置:

listen=YES

anonymous_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

chroot_local_user=YES

guest_enable=YES

guest_username=ftp

user_config_dir=/etc/vsftpd_user_conf

pam_service_name=vsftpd

local_enable=YES

secure_chroot_dir=/var/run/vsftpd

现在为止,我们的3个用户都可以工作了,可是它们的根目录现在都是/home/ftp,权限也都一样。 那么怎么才能完成我们预定的目标呢?

 

在上面的配置中,有这么一行

user_config_dir=/etc/vsftpd_user_conf

现在,我们要把各个用户的配置文件放到目录/etc/vsftpd_user_conf中

mkdir /etc/vsftpd_user_conf

cd /etc/vsftpd_user_conf

touch t1 t2 t3

t1文件中的内容如下

anon_world_readable_only=no

local_root=/home/ftp/t1

write_enable=yes

anon_upload_enable=yes

download_enable=no

anon_mkdir_write_enable=no

anon_other_write_enable=no

同样,t2文件中的内容

anon_world_readable_only=no

local_root=/home/ftp/t2

write_enable=no

anon_upload_enable=no

anon_mkdir_write_enable=no

anon_other_write_enable=no

那么,t3的内容呢? 其实也很简单

anon_world_readable_only=no

write_enable=yes

anon_upload_enable=yes

anon_mkdir_write_enable=yes

anon_other_write_enable=yes

local_root=/home/ftp/t3

这里要注意不能有空格,不然登录的时候会提示出错。

重启vsftpd我们就可以看到效果了

/etc/init.d/vsftpd restart

PS:千万别忘了修改文件夹t1,t2,t3的访问权限。

chown ftp:ftp /home/ftp/t1

chown ftp:ftp /home/ftp/t2

chown ftp:ftp /home/ftp/t3

或者使用命令

chown -R ftp:ftp /home/ftp

修改ftp下的所有文件夹的访问属性。

 

以上是关于centos6.5安装FTP的主要内容,如果未能解决你的问题,请参考以下文章

centos6.5 安装python3.5

CentOS6.5 安装Storm集群

CENTOS6.5安装ocserv

Centos6.5 安装配置docker

centos6.5安装zabbix3.0

CentOS6.5安装telnet命令