1.安装
[root@dhcpm conf]# yum -y install vsftpd
Installed:
vsftpd.x86_64 0:2.0.5-16.el5_5.1
Complete!
[root@dhcpm conf]# service vsftpd start
为 vsftpd 启动 vsftpd:[失败]
[root@dhcpm conf]# /etc/init.d/vsftpd restart
关闭 vsftpd:[确定]
2.添加本地用户
[root@dhcpm conf]# /usr/sbin/adduser -d
/usr/local/tomcat/webapps/ROOT/ -g ftp -s /sbin/nologin dhcpftp
adduser:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
使用命令adduser添加dhcpftp用户,不能登录系统(-s /sbin/nologin),
自己的文件夹在(-d /usr/local/tomcat/webapps/ROOT/),属于租ftp(-g
ftp)
然后为他设置密码:
[root@dhcpm conf]# passwd dhcpftp
3.保证自己能读写自己的目录,需要再vsftp.conf里设置一下读写
配置文件在:/etc/vsftpd/vsftpd.conf
[root@dhcpm var]# vi /etc/vsftpd/vsftpd.conf
local_enable=yes
write_enable=yes
注意:当chroot_local_user=NO,chroot_list_enable=YES时,chroot_list
中用户为锁定用户,即他们除了自己的用户不能访问其他目录。
当chroot_local_user=NO,chroot_list_enable=YES,chroot_list中用户为
非锁定用户,即他们可以访问任何其他目录。
4.问题:可以登录ftp服务器但是不能上传文件和建立文件夹,网上查阅有关
问题说是selinux没有开发ftp服务,于是用命令方式(setenforce 1 开启
setenforce 0关闭)验证了关闭selinux后正常。于是,查看selinux的状态
:
[root@dhcpm ROOT]# getsebool -a|grep ftp
allow_ftpd_anon_write –> off
allow_ftpd_full_access –> off
allow_ftpd_use_cifs –> off
allow_ftpd_use_nfs –> off
allow_tftp_anon_write –> off
ftp_home_dir –> off
ftpd_connect_db –> off
ftpd_disable_trans –> off
ftpd_is_daemon –> on
httpd_enable_ftp_server –> off
tftpd_disable_trans –> off
//发现SELinux设置
# getsebool -a|grep ftp
ftpd_disable_trans –> off
或者
ftp_home_dir–>off
//使用setsebool命令开启
# setsebool ftpd_disable_trans 1
或者
# setsebool ftp_home_dir 1
//查看当前状态是否是on的状态
# getsebool -a|grep ftp
ftpd_disable_trans –> on
或者
ftp_home_dir–>on
//setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
# service vsftpd restart
搞定!
转载请注明:苏demo的别样人生 » centos5.5下安装vsftpd