千家信息网

linux下如何配置ftp服务器并设置虚拟账号的不同权限

发表于:2024-10-07 作者:千家信息网编辑
千家信息网最后更新 2024年10月07日,本篇文章给大家分享的是有关linux下如何配置ftp服务器并设置虚拟账号的不同权限,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、创建
千家信息网最后更新 2024年10月07日linux下如何配置ftp服务器并设置虚拟账号的不同权限

本篇文章给大家分享的是有关linux下如何配置ftp服务器并设置虚拟账号的不同权限,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1、创建用户数据库

1

2

3

db_load:安装 db4,db4-devel,db4-utils

#yum -y install db4*

#db_load -T -t hash -f /etc/vsftpd/vsftpd_login.txt /etc/vsftpd/vsftpd_login.db

3 修改数据文件访问权限:

1

chmod 600 /etc/vsftpd/vsftp_login.db

4 修改pam配置:

1

2

3

4

5

#cat /etc/pam.d/vsftpd.vu

将原来的全部注释掉,加入:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

注意:db=/etc/vsftpd/vsftpd_login 后面的.db必须去掉

5 创建虚拟账号对应的系统用户:
就用ftp默认账户

修改主配置文件,guest_enable代表开启虚拟账户功能,

所有的虚拟账户都将被映射为guest_username指定的系统账户。

如果需要对虚拟账户做权限设置,通过与匿名账户一样的设置项进行,

如anon_mkdir_write_enable=NO既是控制虚拟账户无法创建目录。

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=NO #在每个虚拟账户里单独设置

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

chroot_local_user=YES

guest_enable=YES #允许虚拟账户

guest_username=ftp #所有虚拟账户的真实映射账户

listen=YES

listen_port=21

pam_service_name=vsftpd.vu

user_config_dir=/etc/vsftpd/vconf
pasv_promiscuous=YES

max_clients=40 #最多40个客户端连接
max_per_ip=5 #每个IP最多5个连接

6、配置/etc/vsftpd/vconf里的虚拟用户配置
[root@localhost vconf]# ls
user1 user2

vi user1
local_root=/data/ftp
write_enable=YES

vi user2
local_root=/data/ftp #user2只有下载的权利,没有上传的权利。

7、重新启动
service vsftpd restart



ps:配置完成后,在用ftp客户端测试时,发现问题。
1、提示错误代码:530 Login incorrect.
在vsftpd.vu里把

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

里的/lib/security/pam_userdb.so绝对路径去掉,只用pam_userdb.so

2、提示错误连接失败 OOPS: 500 OOPS: child died
网上的方法

修改vsftpd服务端配置文件

vi /etc/vsftpd/vsftpd.conf

增加下面行,重启服务即可

pasv_promiscuous=YES

解决办法二,如果上面办法还是解决不了我们可以尝试如下解决办法

1、 查看 SELinux 的状态: sestatus -b | grep ftp

2、 在出现的结果中可以看到

ftp_home_dir off

tftpd_disable_trans off

之类。我们现在只要把其中之一设置为on就可以啦。

3、 setsebool -P ftpd_disable_trans on 或者 setsebool -P ftp_home_dir on

4、 重启vsftpd: service vsftpd restart

5.如果还是不成功的话,执行以下命令,然后重启FTP
[root@windos-test-01 vsftpd]# setsebool allow_ftpd_full_access 1
[root@windos-test-01 vsftpd]# setsebool allow_ftpd_use_cifs 1
[root@windos-test-01 vsftpd]# setsebool allow_ftpd_use_nfs 1
[root@windos-test-01 vsftpd]# setsebool -P ftp_home_dir 1
[root@windos-test-01 vsftpd]# setsebool httpd_enable_ftp_server 1
[root@windos-test-01 vsftpd]# setsebool tftp_anon_write 1
[root@windos-test-01 vsftpd]# service vsftpd restart


但是我试过,还是不行。

3、连接失败 OOPS: cannot change directory:/data/ftp
usermod -d /data/ftp ftp #安排主目录给ftp账户

4、可以连上了,但是不能修改文件
chown -R ftp.ftp /data/ftp

发现上传的汉字文档会有乱码。建议采用winscp使用ftp。

挂载NAS盘后,按照平常的设置会无法修改文件目录的权限。在EMC存储上设置的时候注意,


以上就是linux下如何配置ftp服务器并设置虚拟账号的不同权限,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

账户 配置 权限 文件 服务 账号 办法 用户 目录 还是 不同 服务器 客户 客户端 数据 更多 权利 知识 篇文章 系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库运维试卷代码4046 信息与控制学院包含软件开发吗 服务器端口号用途 网络安全和系统安全的工作称呼 华为软件开发云发布 以色列汽车网络安全公司 嘉定区管理软件开发推荐咨询 网络安全法属于民法 网络安全知识竞赛成绩查询 网络技术专业有哪些 腾达ac23远端服务器无响应 数据库e-r模型实习心得 崇明区数据软件开发值多少钱 济南企业软件开发价格 计算机网络技术基础学习内容 我的世界公用服务器 360数据库在哪个省 扫描枪条码上传数据库 海康服务器如何进入安全模式 网络安全工程师考证计算机类 映射linux服务器文件夹不通 世界技能大赛网络安全赛项 数据库中如何删除表中的行 服务器能强行关机后怎么打开 endnote数据库修改教程 网络安全宣传标语公安 网络安全小卫士教学设计 伊士格尔互联网科技 kluwer 数据库 数据库为什么要建立多表
0