Linux用户和用户组管理

用户和用户组管理

1. 用户配置文件

在Linux中主要是通过用户配置文件来查看和修改用户信息。

1.1 用户信息文件/etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

可以通过man查看配置文件帮助信息:man passwd

字段说明:

  1. 用户名

  2. 密码标志:x代表用户有密码。真正的密码密文在/etc/shadow下。

  3. UID(将普通用户的UID改为0,则该用户也会变成超级用户。

    • 0:超级用户
    • 1-499:系统用户(伪用户)
    • 500-65535:普通用户
  4. GID:用户初始组ID.

    • 初始组:用户已登录就立刻拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般是和这个用户的用户名相同的组名作为初始组。
    • 附加组:用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。
  5. 用户说明(备注,没有实质性作用)

  6. 用户家目录:

    • 超级用户:/root/
    • 普通用户:/home/用户名/
  7. 登录之后的shell

1.2 影子文件/etc/shadow

/etc/shadow中保存加密后的密码。其中有九个字段:

  1. 用户名;
  2. 加密密码(使用SHA512加密,如果!!是或*则表明用户没有密码,不能登录);
  3. 密码最后一次修改日期,时间戳表示,每过一天时间戳+1;
  4. 两次密码修改间隔(与第三个字段相比),满足时间间隔才能改;
  5. 密码有效期,定义密码的时效性;
  6. 密码修改到期前的警告天数;
  7. 密码过期之后的宽限天数(0:密码到期之后立马失效;-1:密码到期之后不会失效);
  8. 账号失效时间(用时间戳表示);
  • 时间戳与日期换算
    • 时间戳换算为日期:date -d "1970-01-01 18000 days"
    • 日期换算为时间戳:echo $(($(date --date="2020/01/06" +%s)/86400+1))

9.保留(暂时无用)

1.3 组信息文件

  1. /etc/group

    root:x:0:
    bin:x:1:
    daemon:x:2:
    sys:x:3:
    adm:x:4:centos
    
    1. 组名;
    2. 组密码标志;(组密码文件在/etc/gshadow
    3. GID;
    4. 组中附加用户;

2. 用户管理相关文件

  1. 用户的家目录

    • 普通用户:/home/用户名/:所有者和所属组都是此用户,权限为700.若将普通用户的UID改为0,则其变为超级用户,但家目录仍然在/home/用户名/
    • 超级用户:/root/:所有者和所属组都是root,权限是550
  2. 用户的邮箱

    /var/spool/mail/用户名/

3. 用户管理命令

  1. useradduseradd [选项] 用户名

    常用选项:

    • -u UID:手工指定用户的UID号(一般不指定
    • -d 目录:手工指定家目录
    • -c 用户说明:手工指定用户说明
    • -g 组名:手工指定用户初始组(一般不指定)
    • -G 组名:制定用户附加组

    用户默认值文件:/etc/default/useradd

    GROUP=100	# 用户默认组
    HOME=/home	  # 用户家目录
    INACTIVE=-1	   # 密码过期宽限天数(shadow文件第7字段)
    EXPIRE=	      # 密码失效时间
    SHELL=/bin/bash	   # 默认shell
    SKEL=/etc/skel	   # 模板目录
    CREATE_MAIL_SPOOL=yes	# 是否建立邮箱
    
  2. passwdpasswd [选项] 用户名

    常用选项:

    • -S:查询用户密码的密码状态(仅root可用)

      mumu PS 2020-01-29 0 99999 7 -1 (Password set, SHA512 crypt.)
      # 用户名-密码设定时间-密码修改间隔时间-密码有效期-警告时间-密码不失效
      
    • -l:暂时锁定用户(仅root可用)

    • -u:解锁用户(仅root可用)

    • echo "123" | passwd --stdin mumu:使用管道操作符,将字符串作为用户的密码

  3. usermod:修改用户信息。

    useradd类似,不过usermod是针对已有用户的。

    usermod [选项] 用户名

    常用选项:

    • -u UID:修改用户UID;
    • -c 用户说明:手工指定用户说明;
    • -L:临时锁定用户;
    • -U:解锁用户锁定。
  4. userdeluserdel [-r] 用户名

    -r:删除时将用户家目录也删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值