Centos安装Vsftpd

假如想象 提交于 2019-12-30 07:38:44

目的:只允许用户用ftp工具访问指定目录

查看是否安装了vsftpd

rpm -qa|grep vsftpd

 

安装vsftpd

yum -y install vsftpd(如果安装不成功,下载rpm包,手动安装)

 

编辑vsftpd的配置文件

vi /etc/vsftpd/vsftpd.conf

 

改成如下的内容,也可直接清空,然后复制进去:

isten=YES
background=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to hao32 FTP servers
pam_service_name=vsftpd
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

 

终端运行下面命令

touch /etc/vsftpd/vsftpd.chroot_list

service vsftpd start

 

把服务加入随机启动项:

查看:

chkconfig --list vsftpd

加入随机启动并开启:

chkconfig vsftpd on

【扩展】

关闭随机启动:chkconfig vsftpd off

指定某一个级别启动:chkconfig --level 3 vsftpd on

 

如果要添加新的用户和新的指向目录,从这里开始

ftp默认我们使用系统用户, 现在我们来添加用户ftptest, 指向目录/home/ftptest , 权限是nologin, 就是没给shell权限, 不影响ftp的

# useradd  ftptest  -d /home/ftptest -s /sbin/nologin

 

查看用户和组(如果用户和组不对,则需要指定用户和组)

cd /home

ls -al

 

设置目录及其文件的属组, 你也可以使用别的分组方式

# chown -R  ftptest . ftptest /home/ftptest

 

设置一下用户ftptest的密码

# passwd ftptest

把用户 ftptest 加到/etc/vsftpd/vsftpd.chroot_list里, 这样用户就可以正常登陆并且不能跳出自己的目录

# echo ftptest >> /etc/vsftpd/vsftpd.chroot_list
# service vsftpd restart

测试登陆
ftp主机: 服务器IP地址  【ftp 192.168.0.9】
ftp用户:  ftptest 
ftp密码:  ftptest

或者在浏览器中输入: ftp://192.168.0.9

 

如果这个时候遇到 cannot change directory /home/ftptest 

查看状态:

getsebool -a|grep ftp

//使用setsebool命令开启
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
//查看当前状态是否是on的状态
# getsebool -a|grep ftp
ftpd_disable_trans --> on
或者
ftp_home_dir-->on

重启:service vsftpd restart

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!