linux 用户与组

Posted cook

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 用户与组相关的知识,希望对你有一定的参考价值。

Linux用户

:username/UID
管理员:root,0
普通用户:1-65535
系统用户:1-499,1-999

 Linux组:groupname/GID

管理员组:root,0
 普通组:
        系统组:1-499,1-999
         普通组:500+,1000+

 Linux安全上下文:

运行中的程序:进程(process)而且以进程发起者的身份运行:               
ps:进程所能够访问的所有资源的权限取决于进程的发起者的身份
Linux组的类别:

  • 用户的基本组(主组):
  • 组名同用户名,且仅包含一个用户:私有组
  • 用户的附加组(额外组):

Linux用户和组相关的配置文件:

  •  /etc/passwd:用户及其属性信息(名称,UID,基本组ID等)
  • /etc/group:组及其属性信息
  • /etc/shadow:用户密码及其相关属性
  • /etc/gshadow:组密码及其相关属性

 

 /etc/passwd:
            name:password:UID:GID:GECOS:directory:shell
            用户名:密码:UID:GID:GECOS:主目录:默认shell
/etc/group:
            group_name:passwd:GID:user_list
            组名:组密码:GID:以当前组为附加组的用户列表(分隔符为:)
/etc/shadow:
            用户名:加密了的密码:最近一次更改密码的日期:密码的最短使用期限:密码的最长使用期限:密码警告时间段:密码禁用期:账号的过期日期:保留字段

用户和组管理命令

useradd:用户创建

 useradd [options] LOGIN
          -u UID:[UID_MIN,UID_MAX],定义在/etc/login.defs
          -g GID:指明用户所属基本组,可为组名,也可以GID
          -c "COMMENT":用户的注释信息
          -d /PATH/TO/HOME_DIR:以指定的路径为家目录
          -s SHELL:指定默认shell,可用列表在/etc/shell中
          -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指定用户所属的附加组
          -r:创建系统用户
              CentOS 6:ID<500
               CentOS 7:ID<1000
          默认值设置:/etc/default/useradd中
                useradd -D [OPTIONS]
                    -s SHELL

 groupadd:组创建

groupadd [OPTION]... group_name
          -g GID:指明GID号[GID_MIN,GID_MAX]
          -r:创建系统组
             CentOS 6:ID<500
             CentOS 7:ID<1000

 id:查看用户相关的ID信息 

 id [OPTION]... [USER]
     -u:UID
     -g:GID
     -G:groups
     -n:name

 su:切换用户或以其他用户身份执行命令

 su [OPTION]... [-] [USER [ARG]...]
 切换用户的方式:
 su username:非登录式切换,即不会读取目标用户的配置文件
 su - username:登录式切换,会读取目标用户的配置文件,完全切换
 ps:root su至其他用户无需密码,非root用户切换需要密码
 换身份执行命令:
 su [-] username -c ‘COMMAND‘
 选项:
      -l:"su -l username",相当于"su - username"

 usermod: 用户属性修改:usermod  

 usermod [options] LOGIN
          -u UID:新UID
          -g GID:新基本组
          -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:新的附加组,原来的附加组将会被覆盖,如果想保留原有,则要同时使用-a选项,表示append
          -s SHELL:新的默认SHELL
          -c ‘COMMENT‘:新的注释信息
          -d HOME:新的家目录,原有家目录中的文件不会同时移动至新的家目录,若要移动,则同时使用-m选项
          -l login_name:新的登录名
          -L:lock指定用户
          -U:unlock指定用户
          -e YYYY-MM-DD:指明用户账户过期时间
          -f INACTIVE:设定非活动期限

 passwd:给用户添加密码

 passwd [OPTIONS] username:修改指定用户的密码,仅root用户权限
 passwd:修改自己的密码
         -l:锁定指定用户
         -u:解锁指定用户
         -n mindays:指定密码最短使用期限
         -x maxdays:指定密码最大使用期限
         -w warndays:提前多少天进行警告
         -i inactivedays:非活动期限
         --stdin:从标准输入接收用户密码
 echo "PASSWORD" | passwd --stdin USERNAME
 ps:/dev/null,bit buckets
     /dev/zero

 userdel:删除用户

  userdel [OPTION]... login
           -r:删除用户家目录

 groupmod:组属性修改 

groupmod [OPTION] GROUP
          -n group_name:新名字
          -g GID:新的GID

  groupdel:组删除

groupdel GROUP

 gpasswd: 组密码

gpasswd [OPTION] GROUP
         -a user:将user添加至指定组中
         -d user:删除用户user的以当前组为组名的附加组
         -A user1,user2...:设置有管理权限的用户列表

chage:修改用户属性

 chage [options] LOGIN
        -d LAST_DAY
        -E, --expiredate
        -I, --inactive
        -m, --mindays
        -M, --maxdays
        -W, --warndays

 chfn:查看用户信息

chsh:|改变shell

         -s 参数改变当前的shell设置

 finger:查看其它用户信息

finger [options] user[@address]

         -l  多行显示。

         -s  单行显示

 



以上是关于linux 用户与组的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础--用户与组.txt

Linux系统下用户与组的管理

Linux系统下用户与组的管理

linux 用户与组

Linux 用户与组管理详解(system-config-users && 命令行)

Linux CentOS 8(用户与组相关权限管理实验)