第一步呢燥,安裝vsftpd這款ftp服務器軟件,
yum install -y vsftpd
第二步,設置vsftpd服務開機自啟動诀姚,然后重啟服務,查看ftp服務端口
chkconfig vsftpd on
systemctl enable vsftpd
systemctl restart vsfpd
第三步:進入vsftpd主配置文件 vi /etc/vsftpd/vsftpd.conf,修改anonymous_enable = NO,這樣可以禁止匿名登陸用戶登錄玷禽。
同時赫段,去掉chroot_local_user = yes前的注釋,限制用戶訪問家目錄之外的地方
anonymous_enable = NO
chroot_local_user =YES
第四步矢赁,創(chuàng)建ftp用戶糯笙,設置用戶無法登陸服務器系統(tǒng)并且家目錄在/var/www/html(默認)下:
useradd -s /sbin/nologin -d /var/www/html test
回車設置test用戶密碼
給其他人修改文件夾的權限:
chmod o+w /var/www/html/
如果是默認安裝vsftpd的話,以下是一些文件的位置約定:
/usr/sbin/vsftpd ---- VSFTPD的主程序
/etc/rc.d/init.d/vsftpd ---- 啟動腳本
/etc/vsftpd/vsftpd.conf ---- 主配置文件
/etc/pam.d/vsftpd ---- PAM認證文件
/etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的用戶列表文件
/etc/vsftpd.user_list ---- 禁止或允許使用VSFTPD的用戶列表文件
/var/ftp ---- 匿名用戶主目錄
/var/ftp/pub ---- 匿名用戶的下載目錄
安裝完成撩银,后面就是使用的相關問題了给涕。
問題一:
windows資源管理器通過ftp://xxx.xxx.xxx.xx訪問報錯:
關閉被動FTP即可:
修改完以后同樣使用chmod給目錄分配權限
問題二:
如果要更改默認下載目錄,修改/etc/vsftpd/vsftpd.conf额获,加入如下三行:
local_root=/data/ftp/
chroot_local_user=YES
anon_root=/data/ftp/
或者采用mount掛載的方式也可以
local_root表示使用本地用戶登錄到ftp時的默認目錄
anon_root表示匿名用戶登錄到ftp時的默認目錄
你上面的chroot_list_file是設定鎖定登陸用戶在其home目錄的列表够庙,要在chroot_list_enable=YES情況下才生效。
問題三:centos7 ftp報錯 530 Login incorrect
tail -f /var/log/secure查看錯誤信息抄邀,根據(jù)相應信息修改
如果沒有信息耘眨,則修改/etc/pam.d/vsftpd文件,注釋掉auth required pam_shells.so境肾,重啟即可剔难。如圖:
vim /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
問題四:
500OOPS:can not change directory的解決辦法
方法一:
vi /etc/sysconfig/selinux
將 SELINUX=enforcing 修改為SELINUX=disabled,
關閉SELINUX后, 重新啟動機器奥喻,問題解決
方法二:
可能沒有創(chuàng)建這個目錄
創(chuàng)建目錄即可
問題五:
vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()錯誤的解決方法
在/etc/vsftp/vsftp.conf文件中增加
allow_writeable_chroot=YES