Linux系统用户相关知识点

一、基本概念

    名称解析:将用户与UID进行转换的过程。人类使用的是用户名,系统识别的是UID码;

    用户认证:用户及密码的确认,验证用户是否有登录使用该系统的的权限;

    用户授权:对文件权限的设定,判定用户是否有权限操作该文件;

    审计:记录用户在本机中的操作;

    认证机制:验证用户名与密码是否一致,默认的机制叫shadow,一般称之为影子口令(因为用户名和密码没在一个文件中);

    安全上下文:进程继承了发起该进程的用户的权限;

    进程能否发起要进行两步认证:1、用户是否有该进程的权限;2、该进程是否有对该文件发起的权限。

     用户类别:

           1、管理员:root   UID:0

           2、普通用户:系统用户:启动系统后台服务的进程,不能作为交互式用户登录    UID:1-499

                                  可交互式登录的用户:正常注册用于登录的用户      UID:500-65535

       通常为了方便管理用户,就把用户划分在不同的小组(group),其ID叫作:GID

     组类别:

            1、管理员组:root       GID:0

            2、普通用户组:

                           系统组:存放管理系统用户的组      GID:1-499

                           用户组:存放管理可交互式登录的用户的组       GID:500-65535 

                                 用户的私有组:组名和用户名一致,且通常只包含该用户

                                 用户的非私有组:用户的基本组(用户操作时形成的组)

                                 用户的附加组:用户所处的非基本组

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
tcpdump:x:72:72::/:/sbin/nologin

root        : x      :0     : 0        : root         : /root               : /bin/bash 

用户名  密码  UID   GID  用户的注释    用户家目录    用户当前所使用的shell类型

tcpdump:x:72:72::/:/sbin/nologin:其shell类型为UID、GID范围在1-499之间,shell类型为:/sbin/nologin     为系统用户

[root@localhost ~]# grep "^\<tcpdump\>" /etc/group
tcpdump:x:72:

tcpdump    :x      :72         :  

  用户名    密码   GID    用户名的描述信息

二、用户及组的管理的命令

   1、添加用户:useradd    其默认路径为:/etc/default/useradd

                格式:useradd   选项[参数]   用户名

                                             -u      指定用户的UID

                                             -g      指定用户的基本组,其参数为组名或GID(已存在)

                                             -G      指定用户的附加组,其参数为组名或GID(已存在)

                                             -c       添加用户的描述信息

                                             -d      指定用户的家目录,该目录之前不存在

                                             -s       指定用户所使用的shell

 (查看用户所用shell命令:#cat  /etc/shells;列出用户可以使用的安全shell:chsh    -l )

                                             -r       指定创建的用户为系统用户

[root@localhost tmp]# useradd -u 65530 -g 0 -c klkjljk  -d /home/mml  -s /bin/bash mml
[root@localhost tmp]# tail -1 /etc/passwd
mml:x:65530:0:klkjljk:/home/mml:/bin/bash

创建用户mml,其UID为65530,GID为0,描述信息为:klkjljk,家目录为:/home/mml,shell类型为bash,是交互式用户(可登陆)

[root@localhost tmp]# useradd -r ll
[root@localhost tmp]# tail -1 /etc/passwd
ll:x:498:498::/home/ll:/bin/bash

  默认创建用户ll,其UID和GID为489,是系统用户   

  2、添加组:groupadd       格式:groupadd    选项   组名      

                                                                     -g      指定当前创建的组的ID号

                                                                     -r       创建系统组   

[root@localhost tmp]# groupadd -g 65530  aa
[root@localhost tmp]# tail -1 /etc/group
aa:x:65530:
[root@localhost tmp]# groupadd -r bb
[root@localhost tmp]# tail -5 /etc/group
distro:x:5000:
peguin:x:5001:
mml:x:0:
aa:x:65530:
bb:x:498:

创建组bb,其GID为498,在范围1--499之间,为系统组

 3、查看用户ID:id    格式:id   选项   用户名

                                              -u        仅显示用户UID

                                               -g       仅显示用户GID

                                               -n       仅显示用户名(和上两个选项一起使用)

  

[root@localhost tmp]# id -u mml
65530
[root@localhost tmp]# id -g mml
0

4、删除用户:userdel       格式:userdel    选项    用户名

                                                                    -r        删除用户的家目录

[root@localhost tmp]# userdel -r ll
userdel: ll home directory (/home/ll) not found
[root@localhost tmp]# tail -5 /etc/passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
mml:x:65530:0:klkjljk:/home/mml:/bin/bash

  5、修改用户的信息:usermod     格式:usermod    选项    用户名

                                                                                    -u      修改用户的UID

                                                                                    -g      修改用户的GID

                                                                                    -c       修改用户的描述信息

                                                                                    -d      修改用户的家目录

                                                                                    -s       修改用户的shell类型

                                         (使用命令:chsh   -s   shell  用户名,也可修改用户的shell类型)

                                                                                    -G      修改用户的附加组,以-a一起使用

                                                                                     -r      修改创建的用户为系统用户

                                                                                     -l       修改用户名

                                                                                     -L      锁定用户名

                                                                                     -U      解锁用户名  

[root@localhost tmp]# tail -1 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
[root@localhost tmp]# usermod -l cc -g 14 tcpdump
[root@localhost tmp]# tail -1 /etc/passwd
cc:x:72:14::/:/sbin/nologin

 这里仅演示-g、-l的用法及结果,其余选项与上面的useradd相似  

 6、修改组的信息:groupmod      格式:groupmod     选项     组名

                                                                                        -g          修改组的GID

                                                                                        -n          修改组名

          该命令与上面的groupadd相似,在这里不再举例。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。