服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|

服务器之家 - 服务器系统 - Centos - 在CentOS系统下创建和配置虚拟用户的方法

在CentOS系统下创建和配置虚拟用户的方法

2019-09-16 17:30moon's blog Centos

这篇文章主要介绍了在CentOS系统下创建和配置虚拟用户的方法,依靠vsftpd这个软件进行操作,需要的朋友可以参考下

一、下载当前vsftp最新版本

   

复制代码

代码如下:

wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.3.4.tar.gz

    

 


二、安装前准备

1、创建虚拟用户映射的本地用户wwwftp

   

复制代码

代码如下:

useradd wwwftp -d /data/www -s /sbin/nologin

 

2、创建自定义配置目录

   

复制代码

代码如下:

mkdir -p /data/soft/vsftpd/conf
mkdir -p /data/soft/vsftpd/bin
mkdir -p /data/soft/vsftpd/lib
mkdir -p /data/soft/vsftpd/user_conf
mkdir -p /data/soft/vsftpd/empty
mkdir -p /data/soft/vsftpd/logs
mkdir -p /data/www
mkdir -p /data/www/user1
mkdir -p /data/www/user2

 

3、对自定义目录设置权限

   

复制代码

代码如下:

chown -R wwwftp:www /data/www
chmod -R 700 /data/soft/vsftpd/empty/
chown -R wwwftp:wwwftp /data/soft/vsftpd/empty/

 

4、复制用于验证用户登录的库文件到自定义目录方便管理

   

复制代码

代码如下:

cp /lib/security/pam_userdb.so /data/soft/vsftpd/lib/

 

5、安装所需软件

   

复制代码

代码如下:

yum -y install gcc db4* pam*

 

三、解压安装vsftpd

   

复制代码

代码如下:

tar zxvf vsftpd-2.3.4.tar.gz
cd vsftpd-2.3.4

 

源码安装默认不支持tcp_wrappers和ssl

需要修改builddefs.h

   

复制代码

代码如下:

/*默认值如下:*/
#undef VSF_BUILD_TCPWRAPPERS /*是否支持TCP WRAPPERS*/
#define VSF_BUILD_PAM /*是否支持自定义虚拟用户登录*/
#undef VSF_BUILD_SSL /*是否支持SSL传输*/
/*支持则将对应项设为define,否则设为undef*/

 

编译vsftpd

   

复制代码

代码如下:

make

 

查看编译的vsftpd二进制文件是否加载了pam

   

复制代码

代码如下:

ldd vsftpd

 

如下:

   

复制代码

代码如下:

[[email protected] vsftpd-2.3.4]# ldd vsftpd
linux-gate.so.1 => (0x00628000)
libwrap.so.0 => /lib/libwrap.so.0 (0x00cee000)
libnsl.so.1 => /lib/libnsl.so.1 (0x0015f000)
libpam.so.0 => /lib/libpam.so.0 (0x00fc4000)
libdl.so.2 => /lib/libdl.so.2 (0x007dc000)
libresolv.so.2 => /lib/libresolv.so.2 (0x008d8000)
libutil.so.1 => /lib/libutil.so.1 (0x00110000)
libcap.so.1 => /lib/libcap.so.1 (0x00d99000)
libc.so.6 => /lib/libc.so.6 (0x0029a000)
libaudit.so.0 => /lib/libaudit.so.0 (0x00114000)
/lib/ld-linux.so.2 (0x004a2000)

 

看到libpam.so.0 => /lib/libpam.so.0 (0x00fc4000)表示已成功加载pam认证模块

   

复制代码

代码如下:

cp vsftpd /data/soft/vsftpd/bin

 

四、配置vsftpd

1、创建主配置文件

   

复制代码

代码如下:

vi /data/soft/vsftpd/conf/vsftpd.conf

 

如下:

   

复制代码

代码如下:

local_enable=YES
anonymous_enable=NO
anon_upload_enable=NO
anon_other_write_enable=NO
anon_mkdir_write_enable=NO
ftpd_banner=Welcome to FTP service.
listen=YES
listen_port=21
connect_from_port_20=YES
nopriv_user=nobody
tcp_wrappers=YES
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/data/soft/vsftpd/chroot_list
userlist_enable=yes
userlist_deny=no
userlist_file=/data/soft/vsftpd/allow
dual_log_enable=YES
vsftpd_log_file=/data/soft/vsftpd/logs/vsftpd.log
xferlog_enable=YES
xferlog_file=/data/soft/vsftpd/logs/xferlog
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=60000
guest_enable=YES
guest_username=wwwftp
pam_service_name=vsftpd
virtual_use_local_privs=YES
use_localtime=YES
user_config_dir=/data/soft/vsftpd/user_conf
secure_chroot_dir=/data/soft/vsftpd/empty

 

2、创建允许登录ftp的用户文件

   

复制代码

代码如下:

vi /data/soft/vsftpd/allow

 

如下:

   

复制代码

代码如下:

user1
user2

 

3、创建用于锁定用户目录的用户列表文件

   

复制代码

代码如下:

vi /data/soft/vsftpd/chroot_list

 

如下

   

复制代码

代码如下:

user1
user2

 

4、配置vsftpd的pam认证模块(用于虚拟用户认证)

  

复制代码

代码如下:

vi /etc/pam.d/vsftpd

 

如下

   

复制代码

代码如下:

auth required /data/soft/vsftpd/lib/pam_userdb.so db=/data/soft/vsftpd/login
account required /data/soft/vsftpd/lib/pam_userdb.so db=/data/soft/vsftpd/login

 

保存退出

5、创建用户名密码文本文件

   

复制代码

代码如下:

vi /data/soft/vsftpd/login.txt

 

如下:一行用户名一行密码

   

复制代码

代码如下:

user1
123456
user2
654321

 

保存退出

6、用db_load生成用户数据库

   

复制代码

代码如下:

db_load -T -t hash -f /data/soft/vsftpd/login.txt /data/soft/vsftpd/login.db
chmod 600 /data/soft/vsftpd/login.db
rm -rf /data/soft/vsftpd/login.txt

 

7、配置虚拟用户自定义配置文件

   

复制代码

代码如下:

vi /data/soft/vsftpd/user_conf/user1

 

user1所有权限

   

复制代码

代码如下:

local_root=/data/www/user1
write_enable=YES
local_umask=022

 

保存退出

   

复制代码

代码如下:

vi /data/soft/vsftpd/user_conf/user2

 

user2只允许下载

   

复制代码

代码如下:

local_root=/data/www/user2
write_enable=NO
download_enable=YES
local_umask=022

 

保存退出

8、启动vsftpd服务

   

复制代码

代码如下:

/data/soft/vsftpd/bin/vsftpd /data/soft/vsftpd/conf/vsftpd.conf &

 

五、测试
user1登录可读、写、删除、创建、修改一切权限
user2登录仅有下载权限
在CentOS系统下创建和配置虚拟用户的方法

延伸 · 阅读

精彩推荐
  • CentosCentOS 6.5系统VNC安装配置详解

    CentOS 6.5系统VNC安装配置详解

    这篇文章主要介绍了CentOS 6.5系统VNC安装配置详解,需要的朋友可以参考下...

    CentOS之家3832019-05-29
  • CentosCentOS进程和计划任务管理的详解

    CentOS进程和计划任务管理的详解

    今天小编为大家带来的是CentOS进程和计划任务管理的详解;希望会对大家有帮助;有需要的朋友可以过来看看...

    CentOS之家4292019-06-30
  • CentosCentOS下常见的系统服务以及相关的关闭方法

    CentOS下常见的系统服务以及相关的关闭方法

    这篇文章主要介绍了CentOS下常见的系统服务以及相关的关闭方法,同样也适用于Fedora等其他RedHat系的Linux系统,需要的朋友可以参考下...

    Derry的专栏1942019-09-10
  • CentosCentos进程状态详解

    Centos进程状态详解

    今天,小编为大家分享的是Centos进程状态详解;希望对大家的学习会有帮助;有需要的朋友可以过来看看...

    服务器之家1442019-07-02
  • CentosCentOS6.5用yum升级gcc详解

    CentOS6.5用yum升级gcc详解

    今天小编将为大家带来的是CentOS6.5用yum升级gcc详解;希望对大家会有帮助,有需要的朋友一起去看看吧...

    CentOS之家4192019-05-28
  • Centoswin下无法ping通VM虚拟机CentOS系统的解决方法

    win下无法ping通VM虚拟机CentOS系统的解决方法

    很多朋友反馈说不知道如何解决win下无法ping通VM虚拟机CentOS系统?下面小编为大家带来解决win下无法ping通VM虚拟机CentOS系统的方法;有需要的朋友一起去看看吧...

    centos之家2172019-07-04
  • CentosCentOS 清屏命令clear的讲解

    CentOS 清屏命令clear的讲解

    今天小编为大家带来CentOS 清屏命令clear的讲解;希望可以帮助到大家,有需要的朋友一起去看看吧...

    网络3722019-07-02
  • Centoscentos7下如何安装xrdp?

    centos7下如何安装xrdp?

    很多朋友在问centos7下如何安装xrdp?今天小编将为大家带来centos7下安装xrdp详细教程;希望能够帮助到大家,有需要的朋友一起去看看吧...

    centos之家2732019-06-07
北京塞车全天计划精准版