CentOs ftp 设置用户访问指定目录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOs ftp 设置用户访问指定目录相关的知识,希望对你有一定的参考价值。
vsftpd.conf 设置:
chroot_local_user=YES
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
vsftpd.chroot_list 设置
ftpuser
passwd 设置
ftpuser:x:500:50::/var/www:/sbin/nologin
ftp连接的展示出所有的目录出来了,但是每个文件夹里面内容都读取失败
使用root账号登录centos系统
检查是否已安装vsftp
rpm -qa |grep vsftpd #未输出信息,表示未安装vsftp通过yum安装vsftp
yum -y install vsftpdftp启动、重启、停止、状态查询命令
service vsftpd start #启动ftpservice vsftpd stop #停止ftpservice vsftpd restart #重启ftpservice vsftpd status #查询ftp状态设置为开机启动(可设置)
chkconfig vsftpd on设置配置文件
vi /etc/vsftpd/vsftpd.conf修改如下内容:
anonymous_enable=NO #设置不允许匿名账户登录chroot_local_user=YES #所有用户限制在主目录中chroot_list_enable=NO #不启动限制用户名单,直接限制所有用户userlist_enable=NO #当为YES时只有userlist_file文件中指定的用户才能登录allow_writeable_chroot=YES #(在文件尾部新增)防止用户有写入权限时报错local_root=/home/www #(在文件尾部新增)设置用户的根目录重启ftp
service vsftpd restart创建ftp用户
创建用户组
groupadd ftpgroups创建用户
# useradd 添加用户命令 -d /home/www 指定用户根目录 -g ftpgroups 加入用户组 ftptest用户名useradd -d /home/www -g ftpgroups ftptest设置用户密码
passwd ftptest # passwd(命令) ftptest(用户名,根据你实际情况写)设置不允许用于系统登录
usermod -s /sbin/nologin ftptest #ftptest(用户名,根据你实际情况写)设置文件权限
chmod 755 /home/www设置目录拥有者
chown -R ftptest:root /home/www #ftptest:ftp用户名 ; /home/www:文件目录设置防火墙
查看防火墙状态,如果未启动,直接跳过本步骤
开放20、21端口(阿里云服务器还需配置安全组开放防火墙)
firewall-cmd --permanent --zone=public --add-port=20/tcpfirewall-cmd --permanent --zone=public --add-port=20/udpfirewall-cmd --permanent --zone=public --add-port=21/tcpfirewall-cmd --permanent --zone=public --add-port=21/udpfirewall-cmd --reload #重新载入至此ftp服务安装成功,如果出现不能访问或不能写入的情况,就还需要设置SELinux(关闭)
sestatus -v #查看SELinux状态,如果SELinux status参数为enabled即为开启状态setenforce 0 #临时关闭(不用重启机器)# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
所以chroot_local_user配置使用默认即可
2.若想仅允许系统用户进行登录,仅仅修改/etc/vsftpd/vsftpd.conf(默认配置)文件中的
anonymous_enable(允许匿名)设置为NO,重新启动服务后,用系统用户帐号密码登录即可 参考技术B 打开就可以的、、 参考技术C 列出目录就证明服务安装成功了,下载不了文件一般是防火墙的问题。需要弄明白ftp的主动模式与被动模式的区别 参考技术D 这个很正常
你要研究深一点使用虚拟用户
http://hx100.blog.51cto.com/44326/383143/ 可以参考下追问
不行,你给的参考的vsftpd 跟我的版本不同,按照参考的步骤,结果是无法连接服务器
追答参考类似的设置
这方面的要你自己测试,配置蛮多的
ftp设置用户只能够访问指定的目录
如新建一个admin用户,若指定admin只能访问/home /uftp目录下的administer目录。则:(1) 首先要存在administer目录,并且保证administer目录不具备可写的权限,否则将造成登录失败。可使用“chmod a-w + 目录”进行权限的修改。
(2) “vi / etc/vsftpd.conf”,在文件末位添加local_root=/home/uftp/administer.其中administer即是限制访问的目录。
(3) 将chroot_list_enable=YES,chroot_list_file=/etc/vsftpd.chroot_list,注释去掉。
(4) 若没有vsftpd.chroot_list文件,则新建vsftpd.chroot_list文件:“vi / etc/ vsftpd.chroot_list”.
(5) 在文件里添加“admin”用户。
(6) 重启ftp服务器。“sudo service vsftpdrestart”。
以上是关于CentOs ftp 设置用户访问指定目录的主要内容,如果未能解决你的问题,请参考以下文章