Linux基础之用户管理

Linux基础之用户管理

一、用户标识:UID、GID

1、UID:用户的唯一id,系统识别用户也是通过uid识别,而不是通过用户名。(类似于同名同姓的人,身份证不一样)

标识解释:
  1. 0: 超级用户(root)
  2. 1-999: 系统用户(伪用户)
  3. 1000-60000:普通用户
注意:系统使用UID标识用户,如果将普通用户UID改为0,该用户就会成为超级用户

2、GID:用户所在组的id

注意:
  1. 初始组:用户一登录就会拥有这个组的相关权限,每个用过户的初始组只能有一个,一般和这个用户名相同的文件作为这个用户的初始组。
  2. 附加组:用户可以加入多个其他用户组,并拥有这些组的权限。
    在这里插入图片描述

二、用户管理相关的7个文件

1、用户信息文件:/etc/passwd

注意:不是用来存密码相关信息的,不要被名字骗了。
字段含义:
  1. 用户名
  2. 密码占位符
  3. 用户uid
  4. 用户gid
  5. 注释性描述:默认为用户名
  6. 用户主目录(用户家目录):root用户:/root ;普通用户:/home/用户名
  7. 用户的Shell:命令解释器(人机交互系统),用户默认使用/bin/bash,设置错误会导致用户无法登录。/sbin/nologin 用户不能登录,可以使用该设置禁止用户登录。
    在这里插入图片描述

2、用户配置文件(影子文件):/etc/shadow

注意:这才是存和密码相关信息的文件

在这里插入图片描述

字段解释
  1. 用户名
  2. 加密密码:前两位如果是!!或者*代表没有密码,普通用户密码前加上!可以临时禁用用户
  3. 密码最后一次修改日期:不是标准日期格式,而是使用1970年1月1日作为标准时间,每过一天时间戳加1。
  4. 密码更改间隔:0表示随时可以更改,1表示修改密码后1天后才能更改,类比n表示修改密码后n天后才能更改
  5. 密码有效天数:99999,超过该天数必须要修改密码
  6. 密码到期的提醒时间:7表示密码到期前7天内每天都会有密码即将失效提醒。
  7. 密码到期后临时允许用户登录时间:字段为空,表示密码到期后立即禁止用户登录,设置n天,表示密码到期后还允许该用户登录n天。
  8. 账户失效日期:字段为空,表示账户永久有效,时间戳转换成日期:date -d “1970-1-1 18720 days”,日期转时间戳:echo $(($(date --date=“2022/04/26” + %s)/86400+1))
  9. 保留字段

3、用户管理相关文件:/etc/group

在这里插入图片描述

字段解释
  1. 组名
  2. 组密码标识
  3. GID
  4. 组中附加用户

4、组密码管理文件:/etc/gshadow

在这里插入图片描述

字段解释

1、组名
2、组密码
3、组管理员用户名
4、组中附加用户

5、用户家目录

1、root用户家目录:/
2、普通用户家目录:/home/用户名

6、用户邮箱:/var/spool/mail/用户名

创建用户的时候会默认创建一个邮箱
在这里插入图片描述

7、用户的模板目录:/etc/skel

类似于群公告,创建一个新用户的时候,skel中的文件会复制到新用户的家目录下面,比如放一个说明文档放到里面,每个用户在注册后就会收到通知。

三、用户管理命令

1、创建用户:useradd [选项] 用户名

选项:
  1. -u:手工指定用户UID号
  2. -d:手工指定用户家目录
  3. -c:手工指定用户的说明
  4. -g:手工指定用过户的初始组
  5. -G:手工指定用户的夫家族
  6. -s:手工指定用户登录的shell,默认为/bin/bash
举个栗子:

创建UID为6666,家目录在/root/test/userhome(此目录不能提前创建,在创建用户的时候会创建,不需要自己创),说明为test,初始组为0,附加组为1001(1001这个组要有,这里我的1001为ChenMing),用户名为user1的用户
在这里插入图片描述
在这里插入图片描述

补充:
创建用户缺省设置的配置文件1:/etc/default/useradd

在这里插入图片描述

创建用户缺省设置的配置文件2:/etc/login.defs

在这里插入图片描述

2、创建用户密码:passwd [选项] 用户名

选项:
  1. -S: 查看密码状态
  2. -l :锁定用户
  3. -u:解锁用户
  4. –stdin:可以用过管道符输出的数据作为用户的密码
举个栗子

在这里插入图片描述

注意:
  1. root用户可以为所有用户修改密码,无需遵循密码规则。
  2. 普通用户只能修改自己密码,密码必须遵循密码规则,否则报错。
密码规则:
  1. 不能基于字典单词
  2. 密码不能少于8个字符
  3. 新密码包括旧密码
  4. 与旧密码过于相似
  5. 等等
举个栗子:

在这里插入图片描述

3、修改用户信息:usermod [选项] 用户名

选项:
  1. -u: 修改用户UID
  2. -c: 修改用户说明
  3. -g: 修改用户的初始组
  4. -G: 修改用户的附加组:usermod -G [组名] [用户名]
  5. -L:零时锁定用户
  6. -U:解锁用户

4、修改密码状态:chage [选项] 用户名

选项:
  1. -l:列出用户的详细密码状态
  2. -d:修改密码状态最后一次更改日期(shadow字段3)
  3. -m:修改两次密码的间隔时间(shadow字段4)
  4. -M:修改密码的有效期(shadow字段5)
  5. -W:修改密码过期前的警告天数(shadow字段6)
  6. -I(大写i):修改密码过期后的宽限天数(shadow字段7)
  7. -E:账号失效时间(shadow字段8)

常用功能:chage -d 0 用户名:强制用户登录后修改密码

5、删除用户:userdel [选项] 组名

选项:-r:删除用户的同时删除用户的配置文件(家目录、邮箱等)
注意:如果不加上-r,删除的用户的家目录、邮箱文件就会成为垃圾文件,如果删除用户的时候忘了加上-r,删除家目录(/home)中的用户家目录和邮件文件(/var/spool/mail/)中的该用户右键目录,再重新创建该用户,然后再加上-r删除该用户即可。

6、切换用户:su [选项] 用户名

选项:
  1. -:切换用户的时候,用户环境也切换过来。
  2. -c:不切换用户,仅使用另一用户的权限,去执行一次命令。
举个栗子:

使用普通用户创建用户是没有权限的,这时候user1使用root权限去创建user2,就要加上-c,但是是需要输入root密码的。
在这里插入图片描述

扩展:sudo

背景:不是所有用户是知道管理员密码的,所以这时候可以使用sudo

步骤

方法1、让管理员在/etc/sudoers文件下101行加上该用户,允许切换所有身份,并且允许使用所有命令。
在这里插入图片描述
方法2、让管理员把107行的注释删除,允许wheel组下面的所有用户使用所有命令。
在这里插入图片描述

举个栗子:

使用方法1、在没有获取权限之前,user1是没有办法创建用户的,然后管理员在/etc/sudoers文件下给user1权限,此时用户创建user3还是失败的,必须加上sudo命令,然后旧可以创建用户了
在这里插入图片描述
使用方法2、
在这里插入图片描述

7、组的创建:groupadd [选项] 组名

选项:-g + GID :指定组ID
举个栗子

在这里插入图片描述
在这里插入图片描述

7、组的修改:groupmod [选项] 组名

选项:
  1. -g + GID + 组名
  2. -n + 新组名 + 原本组名
举个栗子

就修改上面的新建的组
1、修改GID
在这里插入图片描述
在这里插入图片描述
2、修改组名
在这里插入图片描述
在这里插入图片描述

8、组的删除:groupdel + 组名

9、用户加入组及从组中删除用户:gpasswd [选项] 用户 组名

选项
  1. -a :把用户加入组
  2. -d :把用户从组中删除
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值