centos ftp服务器怎么设置用户权限,要求 : 1.admin 所有权限 2.userA 只能上传 3.userB 只能下载
首先你要弄清楚vsftpd的验证方式有三种
匿名访问:任何人无需验证口令即可登入FTP服务端。
本地用户:使用FTP服务器中的用户、密码信息。
虚拟用户:创建独立的FTP帐号资料。
一般像你这种对权限控制比较严格的话,要用虚拟用户模式,下面是方法
第1步:建立虚拟FTP用户数据库文件。
切换至vsftpd程序目录:cd /etc/vsftpd/
创建用于生成FTP用户数据库的原始帐号和密码文件:vim vuserlist
//单数行为帐号,双数行为密码。
userA
passwdA
userB
passwdB
admin
passwdadmin
使用db_load命令用HASH算法生成FTP用户数据库文件vuserdb:
db_load -T -t hash -f vuserlist vuserdb
FTP用户数据库内容很敏感,所以权限给小一些:chmod 600 vuserdb
删除原始的帐号和密码文件:rm -f vuserlist
第2步:创建FTP根目录及虚拟用户映射的系统用户。
创建用户virtual并设置为不允许登陆系统并定义该用户的家目录:
useradd -d /var/ftproot -s /sbin/nologin virtual
为保证其他用户可以访问,给予rwxr-xr-x权限:chmod -Rf 755 /var/ftproot/
第3步:建立支持虚拟用户的PAM认证文件:
vim /etc/pamd/vsftpdvu
//参数db用于指向刚刚生成的vuserdb文件,但不要写后缀。
auth required pam_userdbso db=/etc/vsftpd/vuser
account required pam_userdbso db=/etc/vsftpd/vuser
第4步:在vsftpdconf文件中添加支持配置。
vim /etc/vsftpd/vsftpdconf
anonymous_enable=NO 禁止匿名开放模式。
local_enable=YES 允许本地用户模式。
guest_enable=YES 开启虚拟用户模式。
guest_username=virtual 指定虚拟用户帐号。
pam_service_name=vsftpdvu 指定pam文件。
allow_writeable_chroot=YES 允许禁锢的FTP根目录可写而不拒绝用户登入请求。
第5步:为虚拟用户设置不同的权限
现在不论是userA还是userB帐户,他们的权限都是相同的——默认不能上传、创建、修改文件
指定用户独立的权限配置文件存放的目录:
vim /etc/vsftpd/vsftpdconf
user_config_dir=/etc/vsftpd/vusers_dir
创建用户独立的权限配置文件存放的目录:
mkdir /etc/vsftpd/vusers_dir/
切换进入到该目录中:cd /etc/vsftpd/vusers_dir/
创建userA的配置文件:
vim userA
anon_upload_enable=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_download_enable=NO
创建userB的配置文件:
vim userB
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_download_enable=YES
创建admin的配置文件
vim admin
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_download_enable=YES
第6步:重启vsftpd服务,验证实验效果。
systemctl restart vsftpd
如果出现操作被拒绝,考虑selinux的因素
linux 下ftp 匿名用户上传下载的配置 anonymous_enable=yes (允许匿名登陆) dirmessage_enable=yes (切换目录时,显示目录下message的内容) local_umask=022 (FTP上本地的文件权限,默认是077) connect_form_port_20=yes (启用FTP数据端口的数据连接) xferlog_enable=yes (激活上传和下传的日志) xferlog_std_format=yes (使用标准的日志格式) ftpd_banner=XXXXX (欢迎信息) pam_service_name=vsftpd (验证方式) listen=yes (独立的VSFTPD服务器) 功能:只能连接FTP服务器,不能上传和下传注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项 开启匿名FTP服务器上传权限在配置文件中添加以下的信息即可: Anon_upload_enable=yes (开放上传权限) Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件) Write_enable=yes (开放本地用户写的权限) Anon_other_write_enable=yes (匿名帐号可以有删除的权限) 开启匿名服务器下传的权限 Anon_world_readable_only=no 注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限(R)读-----下传 (W)写----上传 (X)执行----如果不开FTP的目录都进不去 Local_enble=yes (本地帐户能够登陆) Write_enable=no (本地帐户登陆后无权删除和修改文件)功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传 用户登陆限制进其它的目录,只能进它的主目录设置所有的本地用户都执行chroot Chroot_local_user=yes (本地所有帐户都只能在自家目录)设置指定用户执行chroot Chroot_list_enable=yes (文件中的名单可以调用) Chroot_list_file=/任意指定的路径/vsftpdchroot_list 注意:vsftpdchroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可 限制本地用户访问FTP Userlist_enable=yes (用userlistlai 来限制用户访问) Userlist_deny=no (名单中的人不允许访问) Userlist_file=/指定文件存放的路径/ (文件放置的路径)注:开启userlist_enable=yes匿名帐号不能登陆 安全选项 Idle_session_timeout=600(秒) (用户会话空闲后10分钟) Data_connection_timeout=120(秒) (将数据连接空闲2分钟断) Accept_timeout=60(秒) (将客户端空闲1分钟后断) Connect_timeout=60(秒) (中断1分钟后又重新连接) Local_max_rate=50000(bite) (本地用户传输率50K) Anon_max_rate=30000(bite) (匿名用户传输率30K) Pasv_min_port=50000 (将客户端的数据连接端口改在 Pasv_max_port=60000 50000—60000之间) Max_clients=200 (FTP的最大连接数) Max_per_ip=4 (每IP的最大连接数) Listen_port=5555 (从5555端口进行数据连接)查看谁登陆了FTP,并杀死它的进程 ps –xf |grep ftp kill 进程号 配置的时候注意文件权限的问题,开启匿名和本地后,关键是文件权限的设置,为了给不同的用户分配不同的权限,可以生成一个组,例如ftpuser,然后赋 予它何时的权限例如755,chroot()设置可以使得本地用户限制在登录时的目录,这对于安全很重要,可以这是local_root指定本地用户登录 时的目录,负责为/home下相应目录。
是因为
ftp服务器
上设置的匿名用户只有浏览权限,不能下载,必须使用可以下载的用户名登陆上才行
检查你服务器的用户名跟权限,还有就是你用的是不是
ntfs分区
是的话检查权限
网站模板库 » centos ftp服务器怎么设置用户权限,要求 : 1.admin 所有权限 2.userA 只能上传 3.userB 只能下载
0条评论