centos查看ftp用户
① centos ftp服务器怎么设置用户权限,要求 : 1.admin 所有权限 2.userA 只能上传 3.userB 只能下载
首先你要弄清楚vsftpd的验证方式有三种
匿名访问:任何人无需验证口令即可登入FTP服务端。
本地用户:使用FTP服务器中的用户、密码信息。
虚拟用户:创建独立的FTP帐号资料。
一般像你这种对权限控制比较严格的话,要用虚拟用户模式,下面是方法
第1步:建立虚拟FTP用户数据库文件。
切换至vsftpd程序目录:cd /etc/vsftpd/
创建用于生成FTP用户数据库的原始帐号和密码文件:vim vuser.list
//单数行为帐号,双数行为密码。
userA
passwdA
userB
passwdB
admin
passwdadmin
使用db_load命令用HASH算法生成FTP用户数据库文件vuser.db:
db_load -T -t hash -f vuser.list vuser.db
FTP用户数据库内容很敏感,所以权限给小一些:chmod 600 vuser.db
删除原始的帐号和密码文件:rm -f vuser.list
第2步:创建FTP根目录及虚拟用户映射的系统用户。
创建用户virtual并设置为不允许登陆系统并定义该用户的家目录:
useradd -d /var/ftproot -s /sbin/nologin virtual
为保证其他用户可以访问,给予rwxr-xr-x权限:chmod -Rf 755 /var/ftproot/
第3步:建立支持虚拟用户的PAM认证文件:
vim /etc/pam.d/vsftpd.vu
//参数db用于指向刚刚生成的vuser.db文件,但不要写后缀。
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
第4步:在vsftpd.conf文件中添加支持配置。
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO 禁止匿名开放模式。
local_enable=YES 允许本地用户模式。
guest_enable=YES 开启虚拟用户模式。
guest_username=virtual 指定虚拟用户帐号。
pam_service_name=vsftpd.vu 指定pam文件。
allow_writeable_chroot=YES 允许禁锢的FTP根目录可写而不拒绝用户登入请求。
第5步:为虚拟用户设置不同的权限
现在不论是userA还是userB帐户,他们的权限都是相同的——默认不能上传、创建、修改文件
指定用户独立的权限配置文件存放的目录:
vim /etc/vsftpd/vsftpd.conf
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的因素
② centos查看有没有pure-ftpd
(以下内容属于转载.)pure-ftp默认采用Linux的root用户。采用virtual users(虚拟帐户) 则能够更好的控制访问权项。 建立一个ftp用户的文件夹,也就是ftp共享文件夹。 #mkdir /usr/local/ftpdir 建立一个ftp用户与组: #groupadd ftpgroup #userad...
③ 如何在centos上添加ftp用户
安装vsftpd服务的时候会自动生成,建议不要手动添加ftp用户
添加方法:useradd ftp
④ linux 服务器 centos5.5 FTP如何建立用户配置权限 A用户能够下载 B用户能够访问 C用户能够上传下载。急
1、ftp服务器只要你启用了匿名用户访问ftp服务器,就有访问的权限,权限只有查看,不能上传下载修改,所以你的B用户匿名登录就行了;本地用户只要在配置文件增加本地用户能下载,就有查看、下载的权限,但不能写入,即不能上传、修改文件目录之类,所以A用户以自己名字登录就行了;C用户能上传下载,就要在前面的基础上,给他单独设立权限了,用访问控制列表设权限。步骤如下:
2、修改配置文件
#vim/etc/vsftpd/vsftpd.conf#下面没有的就添加,注意匿名用户权限不要太大
anonymouse_enable=YES#启用匿名用户
download_enable=YES#本地用户可下载
local_root=/var/ftp#修改本地用户ftp根目录,默认本地用户只能访问自己的家目,你可以根据自己情况修改
3、给C用户单独设立权限,用setfacl命令设访问控制
#setfacl-mu:C:rwx/var/ftp/
-m 增加一条策略
u 表示是给用户设立权限,另外一个是 g ,给组;
C C用户
rwx 表示所有权限,一定是这个,才能有下载上传权限
后面那个是ftp目录
4、登录
B用户以匿名登录;
A和C以自己的系统账户密码登录,会有相应的权限的。。
你应该对vsftpd的配置文件不熟,去网上找份详解,自己慢慢研究
祝你好运~~~
⑤ centos搭建ftp服务
一:安装FTP
输入vsftpd -v判断是否安装成功
启动/停止/重启FTP
二:添加ftp用户
1:创建ftp用户并设置密码
2:配置该用户仅能通过 FTP 访问
三:FTP配置
1:FTP的配置文件在/etc/vsftpd/vsftpd.conf,找到以下配置并修改或添加
2:配置可以登录ftp用户
在/etc/vsftpd/user_list文件中添加可以登录ftp的用户:
3:配置ftp用户登录后访问的目录
在/etc/vsftpd目录下新建一个userconfig目录,在userconfig目录下配置用户的登录目录,例:注意:文件名就是你想要配置的用户名称
在vsftpd文件中添加
配置完成后重启FTP更新配置
四:创建测试目录及文件
创建目录
设置访问权限:
创建一个测试文件,并在里面写上this is test!!!
五:防火墙配置
禁用防火墙或者开启21端口和30000端口
(1):开启21端口
530问题
1.cat /etc/passwd,查看你登陆的账户主目录和登陆shell对应的是什么,我的是/sbin/nologin
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
2.查看cat /etc/shells是否有你用户的主目录和登陆shell,没有进行添加,保存,退出。
通过其他服务器链接ftp
先安装ftp指令 yum install ftp
连接 ftp 192.168.6.36
⑥ CentOS系统下如何配置FTP
启动命令:/etc/rc.d/init.d/vsftpd start 这时候可以使用ftp客户端连接。 vsftpd的权限貌似和系统权限有挂钩。 下面是抄来的配置解释vsftpd的配置 ,例如root等。 vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。 vsftpd.conf:位于/etc/vsftpd目录下。来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。 (1)CentOS系统用户登录控制 local_enable=YES,允许本地用户登录。 banned_email_file=/etc/vsftpd.banned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpd.banned_emails)。 (2)CentOS系统用户权限控制 write_enable=YES,开启全局上传权限。 local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022)。 chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替。 chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpd.chroot_list)。 nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户。这是vsftpd系统推荐选项。 async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错! ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASCⅡ模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASCⅡ模式的传输。 注意:启用ascii_download_enable选项会让恶意远程用户们在ASCⅡ模式下用“SIZE/big/file”这样的指令大量消耗FTP服务器的I/O资源。 这些ASCⅡ模式的设置选项分成上传和下载两个,这样我们就可以允许ASCⅡ模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险。 (3)CentOS系统用户连接和超时选项 idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。 data_connection_timeout=120,设定默认的数据连接超时时间。 dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。 xferlog_enable=YES,启用记录上传/下载活动日志功能。 xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log。 以上,我们就完成了CentOS系统中FTP的配置工作。
⑦ 有没有大神懂Centos FTP的 有点问题不懂
用户主目录:登陆后的根路径
主目录为/home/a/b ,只能查看/home/a/b目录下的文件和其所有子目录
假如客户端登录后浏览的路径是 /c/d 目录下的文件,那么ftp服务器会显示服务器上/home/a/b/c/d 目录下的文件,也就是你浏览的路径前总会加上/home/a/b
宿主用户: 指的就是本地用户,仅仅用于登录ftp,无法登陆系统。
adser -d /home/ftp -s /sbin/nologin virtual
⑧ 求高手,想在CentOS下面搭个FTP服务器
一:安装vsftpd
查看是否已经安装vsftpd
1.rpm -qa | grep vsftpd
2.#如果没有,就安装,并设置开机启动
3.yum -y install vsftpd
4.chkconfig vsftpd on
二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
打开/etc/vsftpd/vsftpd.conf,做如下配置
1.anonymous_enable=NO #设定不允许匿名访问
2.local_enable=YES #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
3.chroot_list_enable=YES #使用户不能离开主目录
4.ascii_upload_enable=YES
5.ascii_download_enable=YES #设定支持ASCII模式的上传和下载功能
6.pam_service_name=vsftpd #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
7.以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加
8.guest_enable=YES #设定启用虚拟用户功能
9.guest_username=ftp #指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了
10.user_config_dir=/etc/vsftpd/vuser_conf #设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的11.CentOS FTP服务文件(配置文件名=虚拟用户名
进行认证
12.chroot_list_file=/etc/vsftpd/vuser_passwd.txt
首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。
1.yum install db4 db4-utils
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
1.test
2.123456
接着,生成虚拟用户认证的db文件
1.db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
1.auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
2.account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最后,创建虚拟用户配置文件
1.mkdir /etc/vsftpd/vuser_conf/
2.vi /etc/vsftpd/vuser_conf/test #文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效
3.内容如下
4.local_root=/ftp/www #虚拟用户根目录,根据实际情况修改
5.write_enable=YES
6.anon_umask=022 #掩码
7.anon_world_readable_only=NO
8.anon_upload_enable=YES
9.anon_mkdir_write_enable=YES
10.anon_other_write_enable=YES
设置Selinux(如果你的selinux是开启的话)
1.setsebool -P ftp_home_dir=1 #设置ftp可以使用home目录
2.sersebool -P allow_ftpd_full_access=1 #设置ftp用户可以有所有权限
设置FTP根目录权限
1.mkdir /ftp/www #创建目录
2.chmod R 755 /ftp
3.chmod R 777 /ftp/www
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
设置防火墙
打开/etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
1.-A INPUT m state --state NEW m tcp p dport 21 j ACCEPT
然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
1.service iptables restart
OK,运行“service vsftpd start”,你就可以访问你的FTP服务器了。
配置PASV模式
vsftpd默认没有开启PASV模式,现在FTP只能通过PORT模式连接,要开启PASV默认需要通过下面的配置
打开/etc/vsftpd/vsftpd.conf,在末尾添加
1.pasv_enable=YES #开启PASV模式
2.pasv_min_port=40000 #最小端口号
3.pasv_max_port=40080 #最大端口号
4.pasv_promiscuous=YES
在防火墙配置内开启40000到40080端口
1.-A INPUT m state --state NEW m tcp p dport 40000:40080 j ACCEPT
重启iptabls和vsftpd
1.service iptables restart
2.service vsftpd restart
现在可以使用PASV模式连接你的FTP服务器了~
常见错误:
问题一:
可我按照配置步骤走完一遍后发现每次都是
530 Login incorrect
找来找去才发现我把验证用的vsftpd.vu创建在了etc的根目录,而不是/etc/pam.d/vsftpd.vu
问题二:
修改了上面的问题,还是不能登录,提示我:
500 OOPS:bad bool value in config file for:anon_world_readable_only
google了一把发现有人说是配置文件的末尾不能有空格,打开自己的配置文件一看,不止anon_world_readable_only这一行末尾,整个文件的末尾都有几个空格。唉,复制粘贴网页上的配置要谨慎啊。
问题三:
500 OOPS: vsftpd: cannot locate user specified in 'guest_username':aaA
这个问题很奇葩,最后发现是最后大小写的问题,应该是‘aaa’
所以注意一下细节,安装上面的步骤来是很简单的
⑨ centos7 ssh服务怎么使用ftp
方法/步骤1、运行yum install vsftpd命令
[root@localhost ~]# yum install vsftpd
2、完成ftp安装后,将 /etc/vsftpd/user_list文件和/etc/vsftpd/ftpusers文件中的root这一行注释掉
# root
3、执行以下命令
# setsebool -P ftpd_disable_trans=1
修改/etc/vsftpd/vsftpd.conf,在最后一行处添加local_root=/
4、重启ftp进程 #service vsftpd restart
注:每次修改过ftp相关的配置文件,都需要重启ftp进程来生效。
vsftpd.ftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。
vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。
vsftpd.conf:位于/etc/vsftpd目录下。来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。
(1)用户登录控制
anonymous_enable=YES,允许匿名用户登录。
no_anon_password=YES,匿名用户登录时不需要输入密码。
local_enable=YES,允许本地用户登录。
deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。
banned_email_file=/etc/vsftpd.banned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpd.banned_emails)。
⑩ CentOs 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:文件目录设置防火墙
systemctl status firewalld
查看防火墙状态,如果未启动,直接跳过本步骤开放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 #临时关闭(不用重启机器)