Linux虚拟用户

在linux下最多可以设置60000个用户,那么如何管理几十万几百万甚至几千万的用户呢?这里就用到了虚拟用户。

一.虚拟用户:

服务端:

1.getenforce   设置为disable,配置文件为/etc/sysconfig/selinux,修改完之后必须重启,因为它是内核级的,必须重启才能重新加载

Linux虚拟用户_第1张图片

重启

已经设置为了disabled


2.yum install vsftpd lftp -y  自动安装vsftp服务和lftp

Linux虚拟用户_第2张图片

Linux虚拟用户_第3张图片
3.开启使能vsftpd服务,火墙设置,在这里,因为我是内网,比较安全,所以我关掉了火墙,在平时可以给火墙添加认证过的服务,可以让该服务安全通过火墙。比如ftp服务:firewall-cmd --permanent --add-service=ftp,然后firewall-cmd --reload重装载防火墙


4.cd /etc/vsftpd
5.vim loginusers   创建虚拟用户文件,一行用户一行密码

虚拟用户:user1  密码:123    ; 虚拟用户:user2  密码:123  ;  虚拟用户:user3  密码:123

Linux虚拟用户_第4张图片
6.db_load -T -t hash -f loginusers loginusers.db   哈希加密

Linux虚拟用户_第5张图片
7.vim /etc/pam.d/westos   验证文件  格式:账户  验证帐号  验证密码  db  验证密码文件
account    required     pam_userdb.so   db=/etc/vsftpd/loginusers
auth  .....................................


8.vim /etc/vsftpd/vsftpd.conf  配置vsftp文件   (以下125 126 127均为行号,不用写,也可以不用写在这三行,写在别处也可以,但必须是此文件下)
  125  pam_service_name=westos   指向验证文件
  126  guest_enable=YES          开启虚拟用户,默认lftp登陆,进入pub目录
  127  guest_username=liming    登陆lftp进入liming的家目录下。如果不写这一句,那么用户都是以lftp登陆到pub目录的。注意:这里的用户必须存在,且家目录权限不能过大,一般为555。

配置完成后重启vsftp服务

Linux虚拟用户_第6张图片

客户端:
  lftp 172.25.254.116 -u user1,可以看到用户liming的家目录下的文件,如果可以进,但看不到家目录下的文件,首先要看是不是selinux没关,其次是不是家目录不正确,最后可能就是没有读的权限了

Linux虚拟用户_第7张图片

二.虚拟用户的家目录

给每个虚拟用户创建家目录
1.配置vsftpd.conf   vim /etc/vsftpd/vsftpd.conf
   local_root=/ftphome/$USER
   user_sub_token=$USER

Linux虚拟用户_第8张图片
2.创建目录
  mkdir -p /ftphome/user{1..3}
  mkdir -p /ftphome/user1/user1dir
  mkdir -p /ftphome/user2/user2dir
  mkdir -p /ftphome/user3/user3dir
  chmod 777 /ftphome/user*/*

Linux虚拟用户_第9张图片
3.客户端测试:lftp....

Linux虚拟用户_第10张图片

三.虚拟用户上传文件的权限设置

如果只想让用户user1有上传文件的权限,而不让其他用户有上传文件的权限
1.mkdir /etc/vsftpd/user_conf     在/etc/vsftpd/下创建一个目录
  touch /etc/vsftpd/user_conf/user1   此文件名称与用户名称对应
  vim /etc/vsftpd/user_conf/user1   在user1下写入:
   anon_upload_enable=YES             只允许user1可以上传文件

Linux虚拟用户_第11张图片
2.进入vsftpd服务的配置文件,把上传文件的功能隐掉。
  vim /etc/vsftpd/vsftpd.conf
   #anon_upload_enable=YES
 然后在加上  user_config_dir=/etc/vsftpd/user_conf   指向刚才创建的目录,目录名须一致.


客户端测试:lftp ......

 Linux虚拟用户_第12张图片

你可能感兴趣的:(Linux虚拟用户)