一、认识/etc/passwd和/etc/shadow
1、/etc/passwd 由 ‘:’ 分割成7个字段,每个字段的具体含义是:
- 用户名
- 存放账号的口令;现在存放在/etc/shadow下,在这里只用一个 ‘x’ 代替
- 用户标识号,也叫做uid;0是超级用户(root)的标识号,1~499由系统保留,作为管理账号,普通用户的标识号从500开始;UId取值范围:0~65535(但实际上已经可以支持到4294967294)
- 组标识号,也叫做gid;这个字段对应着/etc/group 中的一条记录
- 注释说明,该字段没有实际意义
- 用户的家目录,当用户登录时就处在这个目录下;
- Shell,用户登录后要启动一个进程,用来将用户下达的指令传给内核,这就是shell
2、/etc/shadow, 用 ‘:’ 分割成9个字段
- 用户名
- 用户密码
- 上次更改密码的日期
- 要过多少天才可以更改密码,默认是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
注意:- 可以添加也可以不添加。添加之后会初始化当前用户的各种环境变量。例如:
如果不加 ‘-‘ 切换到root账户下时,当前目录没有变化,而加上 ‘-‘ 切换到root账户后,当前目录为root账户的家目录,这跟直接登陆root账户是一样的。当用root切换普通用户时,是不需要输入密码的。这也体现了root用户至高无上的权利
Whoami 命令
作用:查看当前使用的用户
Sudo 命令
见网页:
http://www.apelearn.com/study_v2/chapter8.html