【Linux | 用户和组】


前言

我们新建用户的时候,是先建立组再建立用户还是先建立用户再建立组呢?

  • 答案是先建立组之后再建立用户

例如:useradd li => 是先建立好与用户名同名的组之后,再建立的li这个用户


一、用户

1. user的操作

useradd

  • useradd 选项 用户名

    [root@localhost ~]# useradd  weihong
    
    [root@localhost ~]# tail -f /var/log/secure
    
    May 24 19:27:59 localhost useradd[2094]: new group: name=weihong, GID=7791
    May 24 19:28:00 localhost useradd[2094]: new user: name=weihong, UID=7791, GID=7791, home=/home/weihong, shell=/bin/bash
    
  • 新建的uid和gid都在前一个用户的uid和gid上加一

用户分类

  1. 超级用户:root

    • uid为0,gid也为0
    • 有极大的权限
  2. 程序用户/系统用户 => 不能登录系统,没有家目录,uid和gid在1~999
    UID为1-499(RHEL6),1-999(RHEL8)

    • 程序用户:用来启动程序使用的,例如mysql这个用户, ssh,ftp,mail,halt
      -s /sbin/nologin
    • 系统用户:linux系统里完成的功能用户,例如:启动系统的程序
      系统用户无法用来登录系统,但也不能删除,因为一旦删除,依赖这些用户运行的服务或程序就不能正常执行,会导致系统问题。
  3. 普通用户

    • uid和gid在1000~60000

    • 登录系统,启动程序

    • 这类用户的权限会受到基本权限的限制,也会受到来自管理员的限制

  • [root@localhost liziying123]# cat /etc/login.defs
    defaults默认
# Min/max values for automatic uid selection in useradd
#
UID_MIN                  1000
UID_MAX                 60000
# System accounts
SYS_UID_MIN               201
SYS_UID_MAX               999

#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN                  1000
GID_MAX                 60000
# System accounts
SYS_GID_MIN               201
SYS_GID_MAX               999
  • -M 用户的uid在上一个用户的基础上加1,不新建用户的家目录
  • -r 新建系统用户,用户的uid在1000以内,不新建用户的家目录
[root@localhost liziying123]# useradd -M xuzhu
[root@localhost liziying123]# cd ~xuzhu
-bash: cd: /home/xuzhu: 没有那个文件或目录
[root@localhost liziying123]# tail -1 /etc/passwd
xuzhu:x:1030:1031::/home/xuzhu:/bin/bash
[root@localhost liziying123]# useradd -r wuyazi
[root@localhost liziying123]# tail -1 /etc/passwd
wuyazi:x:997:995::/home/wuyazi:/bin/bash
[root@localhost liziying123]# cd ~xuzhu
-bash: cd: /home/xuzhu: 没有那个文件或目录
[root@localhost liziying123]# cd ~wuyazi
-bash: cd: /home/wuyazi: 没有那个文件或目录
[root@localhost liziying123]# 

一切皆文件

  • /etc/passwd: 存放了linux系统里的所有用户信息。

    [root@localhost ~]# cat /etc/passw
    
    liziying123:x:1028:1028::/home/liziying123:/bin/bash
    

img

  • /etc/group:记录了系统中所有组的信息

    bash
    [root@localhost ~]# cat /etc/group
    root: x:0:
    bin: x:1:

  • /etc/shadow :存放用户的密码信息,普通用户打不开。

    • 经过加密算法加密的密码
    [root@localhost ~]# head -1 /etc/shadow
    root:$6$2pDeoiC4TkOKkGFv$m1EARkcanewDcY5EAo6OYmKZFZoakAwRAbWjWKZvhozmWbqSFL.oheQ10le1o9WNGh7OftD00iqN2/x0vKSUt.::0:99999:7:::
    

img

  • cat /etc/shells: 查看linux里支持哪些shell

二、组操作

groupadd

[root@localhost liziying123]# groupadd shaolin
[root@localhost liziying123]# groupadd wudang
[root@localhost liziying123]# tail -2 /etc/group
shaolin:x:1030:
wudang:x:1031:

groupdel

[root@localhost liziying123]# groupdel shaolin
[root@localhost liziying123]# groupdel wudang
[root@localhost liziying123]# tail -2 /etc/group
liziying123:x:1028:
liwenqian123:x:1029:

  • -g 基本组(主要组)
  • -G 附加组(次要组)

一个用户可以加入多个组,分主要组和次要组

一个组里可以有多个用户

[root@localhost ~]# useradd -g government -G tiandihui,shenlongjiao -c "ludingji" -s /bin/bash -d /home/weixiaobao weixiaobao
[root@localhost ~]# id weixiaobao
uid=7794(weixiaobao) gid=1034(government)=1034(government),1032(tiandihui),1033(shenlongjiao)
[root@localhost ~]# su - weixiaobao
[weixiaobao@localhost ~]$ pwd
/home/weixiaobao

总结

我们在使用命令的时候需要思考命令背后的过程,熟悉useradd和groupadd命令,明白组和用户的关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值