入门
最简单运行vsftpd
通常的linux发行版只要运行 /etc/init.d/vsftpd 脚本就可以启动 vsftpd ,然后把想要放到ftp服务器上的文件拷贝到系统的 /var/ftp/pub 里面,在修改 /var/ftp/pub 下面的文件属主和用户组为 ftp,访问权限至少可读。
# /etc/init.d/vsftpd start
# chown -R ftp.ftp /var/ftp/pub/*
# find /var/ftp/pub/ -type f | xargs -i chmod 644 {}
# find /var/ftp/pub/ -type d | xargs -i chmod 755 {}
现在就可访问这台ftp服务器了。访问中可能会出现下面问题:
- 访问拒绝:如果通过工具访问总是被拒绝,需要查看启动vsftpd服 务机器的iptables设置。如果不会配置防火墙,可以简单的关闭防 火墙(“ /etc/init.d/iptables stop")
- 查看文件不能出现全部:比如我就出现过只能看见目录,不能看见 任何文件的情况,这一般是权限问题。需要查看 /var/ftp/pub 目 录下文件的访问权限,如果这些确信没有问题,在查看系统的 selinux 是否开启。如果不会配置selinux可以关闭。或者运行如下 命令赋予权限:
setsebool -P ftpd_disable_trans=1
允许本地用户访问
默认不允许root访问,这里只是让其他系统用户访问。
- 创建本地用户的FTP服务器目录
mkdir -p /wwwroot
- 创建本地用户和组
groupadd vsftp useradd -G vsftp -d /wwwroot -M turbo
- 设置用户口令
passwd turbo
- 修改目录的属主和权限
chown vsftp.user01 /wwwroot chmod 750 /wwwroot
- 修改vsftpd.conf
/etc/vsftpd/vsftpd.conf local_enable=YES write_enable=YES chroot_local_user=YES
允许root用户登录
在redhat的服务器vsftpd版本里面,通常/etc/vsftpd目录里面还有另 外两个文件:
# ls /etc/vsftpd/ ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
把ftpusers和user_list里面的root字符去掉就可以在允许本地用户登 录的情况下允许root登录了。
用户不可以改变主目录
这就是让vsftpd在处理一个用户交互的时候chroot到设定好的目录, 这样ftp用户就不可以改变自己的主目录了。
#在vsftpd.conf配置文件中加上一句就可以 chroot_local_user=YES
