1、查询linux服务器是否已经安装过vsftpd服务;
rpm -qa|grep vsftpd
卸载已经安装服务命令:rpm -e vsftpd
2、未安装,安装vsftpd服务;
执行:yum install vsftpd -y 在线安装vsftpd服务
3、安装成功后,修改配置文件;
使用命令:vim /etc/vsftpd/vsftpd.conf
找到:anonymous_enable参数将值设置为NO【关闭匿名登陆功能】
chroot_list_enable=YES 【限制访问自身目录】
chroot_list_file=/etc/vsftpd/chroot_filelist【编辑chroot_filelist文件,将受限制的用户添加进去,每行一个用户,添加进去的用户为步骤4中添加的用户】
修改完成后启动vsftpd服务:systemctl start vsftpd
4、添加用户
root用户登陆后:
useradd -d /data02/resource firewolf 【增加用户firewolf,并指定test用户的主目录为/data02/resource】
passwd firewolf 【为firewolf用户设置密码】
usermod -s /sbin/nologin firewolf 【限定用户firewolf只能ftp登陆】
5、本机命令行登陆尝试
ftp 192.168.21.165
输入用户名和密码后报错:vsftpd:500 OOPS vsftpd:refusing to run with writable root inside chroot()
这是因为从2.3.5之后,vsftpd增加了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报错。
要修复这个错误,可以用命令chmod a-w /data02/resource去除用户主目录的写权限,或者在vsftpd配置文件中增加一行:
allow_writeable_chroot=YES
6、操作ftp服务命令
查看FTP服务是否运行中:service vsftpd status
查看本地是否含有包含ftp的进程开启:ps -ef | grep ftp
FTP设置开机自动运行:chkconfig vsftpd on
关闭FTP开机自动运行:chkconfig vsftpd off
查看所有服务开启自动运行的情况:chkconfig --list
启动FTP服务:service vsftpd start
停止FTP服务:service vsftpd stop
重启FTP服务:service vsftpd restart
7、修改ftp用户主目录
a、root用户,直接修改/etc/passwd文件,找到你的用户名你一行,如下图所示修改路径,然后保存即可。
b、root用户,使用usermod命令,例如usermod -d /web/import/xml scienceupload (scienceupload 为你的用户名),使用该命令请确保该用户下没有运行的软件或进程
usermod -d /web/import/xml scienceupload //执行完成没有输出即正确
c、最后切换到scienceupload账户,就会看到当前默认目录已经更改了
su - scienceupload