linux下安装vsftp(二)
安装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