1. 程式人生 > >linux下安裝vsftp(二)

linux下安裝vsftp(二)

restart put pass con system 關閉 set acc cannot

安裝vsftpd

1、以管理員(root)身份執行以下命令

yum install vsftpd
2、設置開機啟動vsftpd ftp服務

chkconfig vsftpd on
3、啟動vsftpd服務

service vsftpd start
管理vsftpd相關命令:

停止vsftpd:  service vsftpd stop

重啟vsftpd:  service vsftpd restart

配置防火墻

打開/etc/sysconfig/iptables文件

vi /etc/sysconfig/iptables
在REJECT行之前添加如下代碼

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存和關閉文件,重啟防火墻

service iptables start
配置vsftpd服務器

默認的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本編輯器打開。

vi /etc/vsftpd/vsftpd.conf
添加ftp用戶

下面是添加ftpuser用戶,設置根目錄為/home/wwwroot/ftpuser,禁止此用戶登錄SSH的權限,並限制其訪問其它目錄。
1、修改/etc/vsftpd/vsftpd.conf
將底下三行
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
改為
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
3、增加用戶ftpuser,指向目錄/home/wwwroot/ftpuser,禁止登錄SSH權限。
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
4、設置用戶口令
passwd ftpuser
5、編輯文件chroot_list:
vi /etc/vsftpd/chroot_list
內容為ftp用戶名,每個用戶占一行,如:
peter
john
6、重新啟動vsftpd
service vsftpd restart
另外,如果覺得以後管理ftp用戶名嫌麻煩,可以使用centos官方發布的腳本管理。地址如下:
http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users
出現的錯誤
1、500 OOPS: cannot change directory
解決方法:
在終端輸入命令:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
就OK了!
原因:這是因為服務器開啟了selinux,這限制了FTP的登錄。

#sshd啟動,報錯Received unexpected end-of-file from SFTP server
vi /etc/ssh/sshd_config

將Subsystem      sftp    /usr/libexec/openssh/sftp-server 
改為Subsystem       sftp    internal-sftp 

service sshd restart

  

linux下安裝vsftp(二)