当前位置:首页 » 文件管理 » centosftp虚拟用户

centosftp虚拟用户

发布时间: 2023-07-12 10:18:36

⑴ 求高手,想在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’
所以注意一下细节,安装上面的步骤来是很简单的

⑵ centos5.5系统怎么安装ftp服务,在虚拟机中

1. 使用setup菜单完成TCP/IP网络配置;
(1)在命令行运行setup,选择“Network Configuration”
(2)选择“eth0(eth0)……”
(3)取消“Use DHCP”
(4)配置IP地址和子网掩码为192.168.202.5/255.255.255.0,网关为192.168.202.1
(5)一层层退出
(6)运行ifdown eth0禁用以太网卡
(7)运行ifup eth0启用以太网卡并重新读取配置。
(8)使用ifconfig检查eth0网卡的IP地址配置。
2. vsftpd服务器的基本配置
(1)rpm -q vsftpd 察看vsftpd软件包是否安装
(2)service vsftpd start 启动vsftpd服务器
(3)chkconfig vsftpd on 将vsftpd服务设置为自动启动
(4)从XP客户端访问“ftp://192.168.202.5”
(5)察看vsftpd服务器的配置文件的缺省配置:vi /etc/vsftpd/vsftpd.conf
1)anonymous_enable=YES 允许匿名用户登录
2)local_enable=YES 允许本地用户登录
3)write_enable=YES 允许写入(上传文件、创建目录)(包含所有用户)
4)#anon_upload_enable=YES 允许匿名用户上传文件,但已被注释掉
5)#anon_mkdir_enable=YES 允许匿名用户创建目录,但已被注释掉
3. 配置允许匿名用户上传的FTP服务器
(1)vi /etc/vsftpd/vsftpd.conf
(2)去掉上面(4)(5)两行的注释
(3)service vsftpd restart
(4)从XP客户端重新访问“ftp://192.168.202.5”,上传一个文件,是否成功?
(5)因为匿名用户是以ftp帐号访问FTP服务器的,主目录为/var/ftp。(可察看/etc/passwd,找ftp那一行)而“/var/ftp”目录所属用户为root,目录权限为drwxr-xr-x,即ftp作为“其他用户”,没有写入权限,所以不能在“/var/ftp”目录中创建新文件和新建目录。
两种办法解决这个问题:
4. 办法1:创建一个属于ftp用户的目录
(1)cd /var/ftp
(2)mkdir up1 创建一个目录
(3)chown ftp:ftp up1 修改目录的所属用户
(4)ll 查看目录权限
5. 办法2:创建一个属于root用户的目录,但修改目录权限为允许其他用户修改目录内容
(1)cd /var/ftp
(2)mkdir up2 创建一个目录
(3)chmod 777 up2 修改目录的权限,使“其他用户”可以修改
(4)ll 查看目录权限
6. 继续配置允许匿名用户上传的FTP服务器
(1)刷新XP客户端的ftp://192.168.202.5,进入up1或up2目录,上传一个文件,能否成功?然后再下载刚上传的文件,能否成功?
(2)ll /var/ftp/up1或ll /var/ftp/up2,看刚上传文件的权限为-rw-------,所属用户为ftp
(3)cd /var/ftp/up1或cd /var/ftp/up,chmod 644 上传的文件名
(4)再次下载文件,就可以了,这是为什么?
(5)vi /etc/vsftpd/vsftpd.conf,在local_umask=022下面添加:
anon_umask=022,将匿名用户创建新文件的umask设置为022。
(6)service vsftpd restart
(7)从XP客户端重新访问“ftp://192.168.202.5”,这时,上传、下载都能正常工作了。

⑶ 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的因素

⑷ ftp怎么查虚拟用户信息内容

简介:FTP(File Transfer Protocol)文件传输协议,基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载文件。FTP基于C/S模式,FTP客户端与服务器端有两种传输模式,分别是FTP主动模式、FTP被动模式,主被动模式均是以FTP服务器端为参照。Linux下ftp服务常用的是通过部署VSftpd服务器来实现,以CentOS为例,可以执行命令yum -y install vsftpd安装该服务。VSftp的用户登陆方式有三种,分别是匿名用户模式、本地用户模式和虚拟用户模式,匿名模式和本地用户模式存在安全性问题,一般配置的都是使用虚拟用户模式。

本文将继续上文内容,主要介绍怎么在已经搭建好的FTP服务器中通过脚本快速创建虚拟用户,并配置Loganalyzer日志采集,对日常事件进行收集分析。详细内容请参考纤颂陆下文。

一、登陆Linux系统

二、查看FTP服务状态

三、编写自动创建虚拟用户的脚本

1、执行指令# vim useradd.sh

2、编写并毁顷保存创建用户的脚本文件useradd.sh

备注:执行樱桥该脚本useradd.sh的时候,后面附带用户名、用户密码和用户的家目录,实例为#sh useradd.sh chensc 123456 /home/ftpuser/chensc。

3、授权脚本文件

执行指令# chmod 777 useradd.sh授权读、写和执行的权限

4、执行脚本文件useradd.sh创建新用户

执行指令# sh useradd.sh chensc 123456 /home/ftpuser/chensc

⑸ CentOS vsftpd虚拟用户的配置 配置完之后就是登陆不上去FTP 用了两个用户也是登陆不上,初学者,求大神

制作虚拟用户数据库文件

1.先建立虚拟用户名单文件:[root@KcentOS5 ~]# touch
/etc/vsftpd/virtusers建立了一个虚拟用户名单文件,这个文件就是来记录CentOS
vsftpd虚拟用户的用户名和口令的数据文件,我这里给它命名为virtusers。为了避免文件的混乱,我把这个名单文件就放置在/etc
/vsftpd/下。

2.编辑虚拟用户名单文件:
[root@KcentOS5 ~]# vi /etc/vsftpd/virtusers download 1234 upload 5678 admin 9012

CentOS vsftpd编辑这个虚拟用户名单文件,在其中加入用户的用户名和口令信息。格式很简单:“一行用户名,一行口令”。

3.生成虚拟用户数据文件:

[root@KcentOS5 ~]# db_load -T -t hash -f /etc/vsftpd/virtusers
/etc/vsftpd/virtusers.db设定PAM验证文件,并指定虚拟用户数据库文件进行读取在/etc/pam.d/vsftpd的文件头
部加入以下信息(在后面加入无效)
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers account sufficient /lib/security/锋慎磨pam_userdb.so db=/etc/vsftpd/virtusers

虚拟用户的配置

local_root=/var/www/html指定虚拟银斗用户的具体主路径。
anonymous_enable=NO设定不允许匿名用户访问。
write_enable=YES设定允许写操作。
local_umask=022设定上传文件权限掩码。
anon_upload_enable=NO设定不允许匿名用户上孝碰传。
anon_mkdir_write_enable=NO设定不允许匿名用户建立目录。
idle_session_timeout=600设定空闲连接超时时间。
data_connection_timeout=120设定单次连续传输最大时间。
max_clients=10设定并发客户端访问个数。
max_per_ip=5设定单个客户端的最大线程数,这个配置主要来照顾Flashget、迅雷等多线程下载软件。
local_max_rate=50000设定该用户的最大传输速率,单位b/s。

这里将原CentOS
vsftpd.conf配置文件经过简化后保存作为虚拟用户配置文件的模版。这里将并不需要指定太多的配置内容,主要的框架和限制交由CentOS
vsftpd的主配置文件CentOS vsftpd.conf来定义,即虚拟用户配置文件当中没有提到的配置项目将参考主配置文件中的设定。

而在这里作为虚拟用户的配置文件模版只需要留一些和用户流量控制,访问方式控制的配置项目就可以了。这里的关键项是local_root这个配置,用来指定这个虚拟用户的FTP主路径。
[b][color=Red]这里有一个最主要的问题,就是目录的宿主和宿主用户不是虚拟用户,我们设置了目录后还只能下载,不能上传和下载,如果想上传就要使用chown的命令chmod o+w /var/www/html/ o是指其它的用户,w是写的权限

热点内容
笔记本电脑如何设置锁屏密码 发布:2025-02-04 13:54:42 浏览:161
构成c语言程序的基本单位 发布:2025-02-04 13:49:53 浏览:988
如何修改已经更改的密码 发布:2025-02-04 13:38:38 浏览:774
唐dm2021买哪个配置划算 发布:2025-02-04 13:38:38 浏览:627
真空压缩重 发布:2025-02-04 13:38:37 浏览:640
alias脚本 发布:2025-02-04 13:38:03 浏览:741
linux终端字符 发布:2025-02-04 12:52:40 浏览:737
c语言程序设计mobi 发布:2025-02-04 12:51:55 浏览:260
rsa算法c语言 发布:2025-02-04 12:50:36 浏览:786
阿里云服务器托管破解 发布:2025-02-04 12:47:43 浏览:258