Linux学习笔记06—系统用户及用户组的管理

时间:2023-03-09 07:57:21
Linux学习笔记06—系统用户及用户组的管理

一、认识/etc/passwd和/etc/shadow

1、/etc/passwd 由 ‘:’ 分割成7个字段,每个字段的具体含义是:

Linux学习笔记06—系统用户及用户组的管理

  • 用户名
  • 存放账号的口令;现在存放在/etc/shadow下,在这里只用一个 ‘x’ 代替
  • 用户标识号,也叫做uid;0是超级用户(root)的标识号,1~499由系统保留,作为管理账号,普通用户的标识号从500开始;UId取值范围:0~65535(但实际上已经可以支持到4294967294)
  • 组标识号,也叫做gid;这个字段对应着/etc/group 中的一条记录
  • 注释说明,该字段没有实际意义
  • 用户的家目录,当用户登录时就处在这个目录下;
  • Shell,用户登录后要启动一个进程,用来将用户下达的指令传给内核,这就是shell

2、/etc/shadow, 用 ‘:’ 分割成9个字段

Linux学习笔记06—系统用户及用户组的管理

  • 用户名
  • 用户密码
  • 上次更改密码的日期
  • 要过多少天才可以更改密码,默认是0,即不限制
  • 密码多少天后到期
  • 密码到期前的警告期限
  • 账号失效期限
  • 账号的生命周期
  • 作为保留用的,没有什么意义。

二、新增/删除用户和用户组

1、 groupadd 命令
作用:添加一个组
语法:groupadd [-g GID] groupname
“-g” 选项可以自定义gid.;不加 “-g” 选项则按照系统默认的gid创建组,跟用户一样,gid也是从500开始的
2、 groupdel 命令
作用:删除组
格式:groupdel groupname 如果组中存在账号是不能删除的,必须先删除组内的账号
3、 useradd 命令
作用:添加账户
格式:useradd [-u UID] [-g GID] [-d HOME] [-M] [-s]
-u :设置用户UID
-g :设置用户组GID
-d : 自定义用户的家目录
-M: 不建立家目录
-s : 自定义shell
注意:不加任何选项直接跟用户名,则会创建一个跟用户名同样名字的组
4、 userdel 命令
作用:删除账户
语法 : userdel [-r] username
参数:‘-r’ 选项的作用只有一个,就是删除账户的时候连带账户的家目录一起删除。

三、创建/修改一个用户的密码

1、  passwd 命令

作用:修改用户密码

格式:passwd [username]

注意:

1、  只有root才可以修该其他账户的密码,普通账户只能修改自己的密码,其他账户的密码是不可以修改的。

2、  如果直接使用passwd则修改当前用户的密码

mkpasswd 命令

作用:自动生成密码

默认你的Linux是没有这个命令的,需要安装一个包 “expect”, 如果你的CentOS可以上网,请使用命令 yum install -y expect 即可完成安装

四、用户身份切换

1、  su 命令

作用:切换用户

语法:su [-] username

注意:- 可以添加也可以不添加。添加之后会初始化当前用户的各种环境变量。例如:

Linux学习笔记06—系统用户及用户组的管理

如果不加 ‘-‘ 切换到root账户下时,当前目录没有变化,而加上 ‘-‘ 切换到root账户后,当前目录为root账户的家目录,这跟直接登陆root账户是一样的。当用root切换普通用户时,是不需要输入密码的。这也体现了root用户至高无上的权利

Whoami 命令

作用:查看当前使用的用户

Sudo 命令

见网页:

http://www.apelearn.com/study_v2/chapter8.html