十三、用户管理

1.前面我们提到过,linux用户可以分为3类: 

 程序和文件一样,需要对应的所属人,虚拟用户的存在,是为了不让别人利用这个用户登录,或者干别的什么事情,为了安全考虑而处在的用户 。

2.   /etc/skel/  :这个目录下的内容如下,这个目录是在添加用户后,系统会将这个目录下的隐藏文件拷贝到对应的用户的家目录下。所以我们如果在/etc/skel下创建一个文件,那么我们在进行useradd的话,对应用户的家目录就会有这个文件。
场景:新来员工注意事项,可以在这里进行创建后,对应的家目录就会有结果了。

3. /etc/login.defs   配置用户和密码相关配置的文件(了解,应该是创建用户后,shadow是从这里读取的信息)

4./etc/default/useradd:创建用户的初始化文件:当我们创建用户的时候,就会调用这个文件,这样我们就能理解,为什么当我们创建用户的时候,从/etc/skel 这个文件拷贝那些隐藏的文件了。

5.命令:useradd
              -e  账户的终止时间
              -g   表示这个用户属于哪个组
              -G   一次指定多个组
              -m/M   创建/不创建家目录(不存在-m为创建),创建家目录的优先级会优先与在/etc/login.defs和/etc/default/useradd创建的初始化参数  -d  设置家目录
 
               -u   设置用户的ID
               -s   指定shell类型
              chage  检查设置密码的相关文件,检查的是 /etc/shadow里面设置的信息。

 实例:1)useradd 不添加任何参数

             [root@djw ~]#useradd oldgirl

              [root@djw ~]# id oldgirl
             uid=504(oldgirl) gid=504(oldgirl) 组=504(oldgirl)

            2)添加一个用户oldgirls,并指定属于sa组,要求组ID为801,uid为808,并要求不见了家目录和禁止登陆。
            groupadd sa -g 801  
             useradd -u 808  -g sa -M  -s /sbin/nologin
            3)命令-e用法:useradd -e "2014/08/28"  ml
                  检查:  chage -l ml   
            4)添加用户oldboy6,并设置其用户注释信息为HandsomeBoy,UID指定为806,归属为用户组root、oldboy、sa成员,其shell类型为/bin/sh,指定家目录为/oldboy6。
              useradd -u 806 -c "HandsomeBoy"  -G root,oldboy,sa -s /bin/sh -d  /oldboy6    oldboy6

6.对于普通用户能够修改passwd文件的原因是因为passwd命令有suid权限,如下:

 

   非交互更改密码: echo "1223" |passwd --stdin oldboy

7.chage用法:

     chage和passwd有相同的地方,比如:chage  -E "时间" == passwd -e "时间"

8.企业的情况:

   在大规模的运维环境中,使用LDAP服务(微软活动目录)对linux账户统一认证,批量管理。就是LDAP对所属的服务器进行统一管理,服务器本地不进行密码的存储,如果一个人离职了,那么只要删除LDAP上面的密码就可以了,方便快捷。

9.userdel删除用户用法:

          userdel  只删除用户,-userdel -r 删除家目录,递归,相当于删除所有,不要轻易用。知道就可以了,在工作中其实注释一下/etc/passwd对应的用户就可以了。

10.groupdel删除组:当一个组是主组的话,不能删除,要先删除对应的用户后,在进行组的删除。

11.usermod修改用户相关信息:不常使用

        当useradd添加一些错误的用户属性的时候,可以用usermod进行修改。相关参数和useradd很像。

   如:usermod -s /bin/bash oldboy6 修改默认shel

          usermod  -c  "Uglygirl"  oldboy6 修改提示语

          usermod  -d  /home/oldboy  oldboy6   

12.用户查询相关命令:

         id  查询用户id:  id 用户名

         w  显示用户谁登陆过,并干了什么

         who  只是显示谁登陆了,所以w的信息更多,但是会显示终端、登陆时间,来源主机

        users 只是显示谁登陆了

         last   谁在登陆,显示已经登陆的用户列表和登陆时间

         lastlog  报告最近的所有系统用户的登陆信息

13.详细讲解sudo: 这里要注意,sudo相当于授权,本身没有发生变化,但如果是su的话,就是切换用户。这里的文件/etc/run/sudo 还有可能是/etc/db/sudo ,文件5分钟过期

如下:

这里有两点需要注意:1.ALL=(ALL) 表示:ALL哪个机器(别名)=ALL哪个角色,oldboy 可以在哪个机器上已什么角色干root的什么事情

                                    2.%wheel 表示哪个组

14./etc/suders文件中的其他配置:

    主机别名:Host_Alias

  用户别名:User_Alias:既可以包含用户,也可以包含组

角色别名:Runnas_Alias:表示用户可以切换到哪个角色上面

                Runnas_Alias  OP=root

命令别名:Cmnd_Alias

      SERVICE= /usr/sbin/useradd 

在/etc/suders文件中输入下面的内容,就可以进行用进行【权限的集中管理】,下节课讲:这里  sudo -l 查看用户的sudo权限

原文地址:https://www.cnblogs.com/dangjingwei/p/10780426.html