Vsftp安装及配置虚拟用户
admin
2023-03-19 17:21:44
0

Vsftp安装及配置虚拟用户

 

 

一、安装

采用yum安装

[root@VM_64_122_centos vsftpd]# yum installvsftpd

安装完成以后vsftpd的默认配置文件在/etc/vsftpd


二、建立虚拟用户的过程

1,创建虚拟用户文本文件,添加虚拟用户和密码

[root@VM_64_122_centos vsftpd]# vivuser.txt

 

奇数行是用户名,偶数是密码。


比如:

admin
123!@#
yunying
yunying
sheji
sheji
chanpin
chanpin

 

2,生成虚拟数据库文件

db_load默认没有安装,yum installdb4-utils db4-devel db4安装才能使用。

[root@VM_64_122_centos vsftpd]# yum installdb4-utils db4-devel db4

 执行以下命令生成虚拟数据库文件

[root@VM_64_122_centos vsftpd]# db_load -T-t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

 

 

3,配置PAM文件,目的是对客户端进行验证。批注所有内容,后添加:

[root@VM_64_122_centos vsftpd]# vi/etc/pam.d/vsftpd

 

auth required   pam_userdb.so        db=/etc/vsftpd/vuser
account    required   pam_userdb.so        db=/etc/vsftpd/vuser

注意:不能写成db=/etc/vsftpd/vuser.db


 

4,修改虚拟数据库文件vuser.db的权限为 700

 

[root@VM_64_122_centos vsftpd]# chmod 700vuser.db

5,增加一个系统用户vuser ,使用它来对应所有虚拟用户,虚拟用户使用系统用户来访问ftp服务器。

 

useradd vuser
mkdir /var/ftp/vuser
chown vuser.vuser  /var/ftp/vuser

 

6,修改vsftpd.conf配置文件,使虚拟用户可以访问vsftpd服务器,增加以下参数

 

pam_service_name=vsftpd                 ####使用PAM验证
guest_enable=YES                    ####启用虚拟用户                    ####激活虚拟账户
guest_username=vuser                  ####把虚拟账户绑定为系统账户vuser
user_config_dir=/etc/vsftpd/vsftpd_user_conf      ####虚拟用户配置文件目录


三、控制虚拟用户的访问

1,建立vsftpd_user_conf配置文件目录

mkdir /etc/vsftpd/vsftpd_user_conf

 

2,设置虚拟用户配置文件,与虚拟账户同名。

[root@VM_64_122_centos vsftpd]# vi/etc/vsftpd/vsftpd_user_conf/admin

 

3,编辑虚拟账户admin的配置文件admin,设置相应的权限。添加以下内容

     anon_world_readable_only=NO             ###浏览FTP目录和下载
     anon_upload_enable=YES                ###允许上传
     anon_mkdir_write_enable=YES             ###允许建立和删除目录
     anon_other_write_enable=YES             ###允许改名和删除文件
     local_root=/var/ftp/vuser              ###指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。


4,重新启动ftp服务

[root@VM_64_122_centos vsftpd]# servicevsftpd restart


四、修改SELinux设置

SELinux 全称 SecurityEnhanced Linux (安全强化 Linux),是 MAC (Mandatory Access Control,强制访问控制系统)的一个实现,目的在于明确的指明某个进程可以访问哪些资源(文件、网络端口等)

SElinux就是指明进程能访问那些资源,如果其访问了非指明的资源,SElinux就会阻止他,并告诉这个程序,你没有权限,不能让你访问。

所以需要修改SELinux的权限访问设置,不然连接ftp会出现一些异常报错。比如:

500 OOPS: cannot change directory:/home/*******

553 could not create file

 

查看ftp相关选项

sestatus-b | grep ftpd


下面是常用的布尔变量:

allow_ftpd_anon_write:关闭这个布尔变量会阻止 vsftpd 读取 public_content_rw_t 类型的文件和目录。如果允许用户通过 FTP 上传文件。必须开放这个布尔变量。

allow_ftpd_full_access:当开放这个布尔变量时只有LinuxDAC)的权限来控制访问,通过验证的用户可以读取和写入标记为 public_content_t public_content_rw_t 类型的文件。

allow_ftpd_use_cif:当开放这个布尔变量时vsftpd 允许 cifs_t 类型的文件和目录,因此这个布尔变量启用,可以让你的 FTP 服务器可以使用 Samba 文件系统。

allow_ftpd_use_nfsvsftpd:的当开放这个布尔变量时 vsftpd 允许 nfs_t 类型的文件和目录,因此这个布尔变量启用,可以让你的 FTP 服务器可以使用 NFS 文件系统。

ftp_home_dir:当开放这个布尔变量时认证用户可以读写自己的主目录中的文件。

ftpd_connect_db:当开放这个布尔变量时允许vsftpd 连接数据库。

httpd_enable_ftp_server:当开放这个布尔变量时容许的 httpd 作为 FTP 服务器,并且监听 FTP 端口。

tftp_anon_write:当开放这个布尔变量时允许TFTP 访问一个公共的目录

 

 

   启用以下选项:

   setsebool-P ftp_home_dir 1
   setsebool-P allow_ftpd_full_access 1


相关内容

热门资讯

“几轮博弈后,特朗普发现:中国... 【文/观察者网 王一】当地时间5月9日,英国《金融时报》发长文分析称,在美国与中国围绕贸易、科技、地...
拒不付款,还对监控嚣张“比耶” 近日,广东梅州丰顺县一名男子加油逃单后,同行人对监控嚣张“比耶”。今天(5月10日),南都N视频记者...
演员张静初,面临被起诉 近日,多位在演员张静初直播间购买过“优思益”产品的网友表示,目前仍未拿到退款,陷入退货无门的境地。5...
90分钟16条,特朗普的社媒账... 周六下午,特朗普将他的Truth Social账号变成了“AI垃圾工厂”,在短短90分钟内发布了16...
我,22岁,确诊为“妈” 又是一年母亲节。每年今天,大家都试图再次看见母亲,讨论她们的付出与局限,以“成为母亲”为界限,划分她...
重达11000克拉!缅甸发现“... 【环球网报道】美国哥伦比亚广播公司、英国天空新闻网等媒体援引缅甸官方媒体8日消息报道称,缅甸发现一块...
玻璃缝隙漏水怎么处理 1、检查窗户玻璃附近墙体的防水层,重新做防水层。2、查找原先的密封物,检查门窗与墙体的密封度,如果密...
热水器侧面的缝隙漏水可以修好吗 问题:热水器侧面的缝隙漏水可以修好吗回答:如果热水器侧面出现缝隙漏水的情况基本上都是可以修好的。首先...
洗面盆和台面缝隙漏水怎么办 洗菜盆漏水的修补方法1、如果是洗菜盆和台面衔接松动:如果是因为洗菜盆安装时没安装好,与台面缝隙过大,...
空调缝隙漏水怎么办 空调在一定的年限服务后,会出现一些问题,例如漏水。空调漏水是比较常见的问题,但有许多原因可能导致空调...