注意关闭:防火墙(service iptables stop)
以及安全机制:vim /etc/selinux/config 改为disabled
settenforce 0
[1] 安装VSFTP
[root@localhost ~]# yum -y install vsftpd (yum localinstall *.rpm 本地安装)
[2] 配置vsftpd.conf文件
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
listen_port=2100// 根据情况进行连接端口开启,默认是21,没有特殊要求就注释吧。
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
ls_recurse_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list// 这个没有特殊要求可以不补充
pam_service_name=/etc/pam.d/vsftpd// 这个没有特殊要求可以不补充
use_localtime=YES
local_root=/slyang/data/ftpdir
[3] 增加FTP帐户
[root@localhost ~]# useradd ftpuser -s/sbin/nologin
[root@localhost ~]# passwd ftpuser
[4] 编辑user_list文件,允许ftpuser用户访问FTP
[root@localhost ~]# vi /etc/vsftpd/user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allowusers in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam configalso checks /etc/vsftpd/ftpusers
# for users that aredenied.
#root
bin
daemon
adm
lpsync
shutdown
halt
mail
news
uucp
operator
games
nobody
ftpuser
[5] 建立我们的根目录,并设置访问权限
[root@localhost ~]# mkdir /slyang/data/ftpdir
[root@localhost ~]# chown -R ftpuser /slyang/data/ftpdir
[root@localhost ~]# chmod -R 755/slyang/data/ftpdir
[6] 开启vsftpd服务
[root@localhost ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@localhost ~]# service vsftpd restart //重启命令
Starting vsftpd for vsftpd: [ OK ]
[root@localhost ~]# service vsftpd stop // 停止命令
Starting vsftpd for vsftpd: [ OK ]
[7] 默认开启vsftp服务
[root@localhost var]# chkconfig vsftpd on
问题:登陆FTP缓慢 出现上传文件堵住的情况
解决:了解到服务器上也有本机的DNS解析,删除了/ETC/RESOLVE.CONF文件之后访问正常,此文件为服务器DNS解析文件。或者增加一条反向解析:/etc/vsftp/vsftp.conf 下增加一条reverse_lookup_enable=NO也可解决此故障。
错误:ftp服务器连接失败,错误提示:500OOPS: cannot change directory:/home/*******
解决:setsebool ftp_home_dir 1
现在有一个需求:我的账户是slyang7/slyang7 相当于超管用户 还有两个普通用户user1/user1和user2/user2
user1和user2只能访问自己的文件夹相互看不到 而我的超管用户可以访问,操作所有。
添加用户:useradd -d /home/slyang7 -s /sbin/nologin slyang7
passwd slyang7
useradd -d /home/slyang7/user1 -s /sbin/nologin user1
passwd user1
useradd -d /home/slyang7/user2 -s /sbin/nologin user2
passwd user2
chmod -R 755 /home/slyang7
这样就能做到 user1只能访问/home/slyang7/user1/下
user2同理,而slyang7可以访问到/home/slyang7/下的所有
还有一个问题:但是用user1,user2 ftp登录以后,路径可以随便切换,并且可以进入别的站点下 进行增、删、改
解决:只能访问用户主目录;其主目录显示路径也是"/",看不到上级目录
------------------------------------------------------------------------------------------------------------------------------------------------