linux下创建FTP虚拟用户的配置过程--非系统账户登陆FTP

本文涉及的产品
运维安全中心(堡垒机),企业双擎版 50资产 7天
运维安全中心(堡垒机),免费版 6个月
简介:

在企业里常越到这样的情况,需要创建一些FTP账户让他们管理服务,而又不想让他们拥有系统账号。尽管可以设置让他们无法登陆系统,如果有一堆Ftp账号需要建议,创建那么多系统账号也感觉很不爽,而且不是很安全。

下面的方法就是配置FTP的虚拟用户,他们只能登陆ftp,而不属于系统上的账号,爽吧

yum -y install vsftpd

一、建立Vsftpd虚拟用户:

1、添加虚拟用户口令文件安装Vsftpd

[root@localhost ~]#vi /etc/vsftpd/vftpuser.txt

添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。

ftp1 #用户名

123456 #密码

ftp2 #用户名

123456 #密码

2、生成虚拟用户口令认证文件

将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。

首先查看系统有没有安装生成口令认证文件所需的软件db4-uti

下面使用db_load命令生成虚拟用户口令认证文件。

[root@localhost ~]# [root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt

/etc/vsftpd/vftpuser.db

3、编辑vsftpd的PAM认证文件

在/etc/pam.d目录下,

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

将里面其他的都注释掉,添加下面这两行:(64位操作系统)

auth required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser

4、建立本地映射用户并设置宿主目录权限

所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。

[root@localhost ~]#useradd -d /home/vftpsite -s /sbin/nologin vftpuser

[root@localhost ~]#chmod 755 /home/vftpsite //网上为700,设置为700后FTP用户无上传权限

5、配置vsftpd.conf(设置虚拟用户配置项)

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

    anonymous_enable=NO
        local_enable=YES
        local_umask=022
        #dirmessage_enable=YES
        xferlog_enable=YES
        connect_from_port_20=YES
        #xferlog_file=/var/log/vsftpd.log
        xferlog_std_format=YES
        #chroot_list_file=/etc/vsftpd/chroot_list
        listen=YES
        write_enable=YES
        anon_upload_enable=YES
        anon_mkdir_write_enable=YES
        anon_other_write_enable=YES
        one_process_model=NO
        chroot_local_user=YES
        ftpd_banner=Welcome to blah FTP service.
        anon_world_readable_only=NO
        guest_enable=YES
        guest_username=vftpuser
        pam_service_name=vsftpd

    user_config_dir=/etc/vsftpd/userconf

    

多个虚拟用户区分不同的根目录,添加多个配置文件就OK   

    vi userconf/xxxxx01 

        write_enable=YES

        anon_world_readable_only=NO

        anon_upload_enable=YES

        anon_mkdir_write_enable=YES

        anon_other_write_enable=YES

        local_root=/home/vftpsite/xxxxx01


      

    mkdir /home/vftpsite/xxxxx01

    chmod 700 /home/vftpsite/xxxxx01

    chown -R vftpuser:vftpuser /home/vftpsite/xxxxx01

    

    ll /home/vftpsite

        drwx------ 2 vftpuser vftpuser 4096 7月  14 19:45 xxxxx01

        drwx------ 3 vftpuser vftpuser 4096 7月  14 19:48 xxxxx02

  

6、重启vsftpd服务

[root@localhost ~]#service vsftpd restart

7、测试虚拟用户登录FTP





本文转自 vfast_chenxy 51CTO博客,原文链接:http://blog.51cto.com/chenxy/1169912,如需转载请自行联系原作者
目录
相关文章
|
17天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
54 23
Linux系统之whereis命令的基本使用
|
3月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
228 3
|
22天前
|
安全 Linux 数据安全/隐私保护
linux root登陆,密码正确但,错误提示su: Authentication failure
通过系统化的排查和解决方案,可以有效应对 `su: Authentication failure` 问题,确保系统安全和用户权限的正确管理。
145 36
|
8天前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
37 13
|
2月前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
262 78
|
7天前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
25 2
|
1月前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
129 23
|
2月前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
97 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
3月前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
486 58
|
3月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
314 48