Centos安装Vsftpd
目的:只允许用户用ftp工具访问指定目录
查看是否安装了vsftpd
#rpm -qa|grep vsftpd
安装vsftpd
#yum -y install vsftpd(如果安装不成功,下载rpm包,手动安装)
编辑vsftpd的配置文件
#vi /etc/vsftpd/vsftpd.conf
改成如下的内容,也可直接清空,然后复制进去:
listen=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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2014-01-11 [0] 分析 EntityName 时出错。 行 2,位置 *。