目录
3.1 用户的基本概念
3.1.1 用户的属性
Linux操作系统是多用户多任务的操作系统,所谓多用户多任务是指多个用户可以在同时间肉登录同一个系统执行各自不同的任务,而互不影响。不同用户权限不同,通过这种权限的划分和管理,实现了多用户多任务的运行机制。
用户的属性主要是在五个方面:
1.用户名
代表用户账号的字符串。
2.口令
登录账号的密码。
3.用户标识号
用户标识号(UID)是账户的提示符,他与用户名是一一对应的。
UID为0的账号是系统管理员账号。
UID为1~499是系统保留账户,不可登陆。
UID为500~65536是可登录账号,供一般用户使用。
4.用户主目录
即用户的起始工作目录,默认为“/home/用户名”。
5.用户Shell
用户登录后,将启动一个进程,负责将用户的操作传给内核。这个进程是用户登录系统后运行的命令解释器或某个特定的程序。
3.1.2 用户与组
Linux操作系统对用户的管理采用组的形式,用户组是相同特性的用户的集合体。
用户与用户组的对应关系一般分为四种情况:
1.一对一:某一个用户是某个组中的唯一成员。
2.多对一:多个用户是某个唯一的组的成员,成员不归属其他用户组。
3.一对多:某个用户可以是多个用户组的成员。
4.多对多:多个用户对应多个用户组。
3.1.3 与用户相关的配置文件
1./etc/passwd 用户信息文件
Linux操作系统中的每个用户都在“/etc/passwd”文件中有一个对应的记录行,它记录了这个用户的基本属性。当用户登录时,系统会查询这个文件,确认用户的UID并验证用户口令。
文件中的字段以“:”分隔开,这些字段分别是登录名、加密口令、UID、默认的组标识号(GID)、个人信息、主目录、登录Shell。这个文件对所有用户都是可读的。
// 记录了用户的基本属性
$ cat /etc/passwd
$ tail /etc/passwd
// WJK:x:1007:1004::/home/WJK:/bin/sh
// 登录名:加密口令:UID:GID:个人信息:主目录:登录shell
2./etc/shadow 影子文件
这些字段分别是:登录名、加密口令、最后一次修改时间、最小时间间隔、最大时间间隔、警告时间、不活动时间、失效时间、标志。这个文件只有root用户可以查看。
// 存储了用户名和加密口令
$ sudo cat /etc/shadow
// WJK:123456:19866:0:99999:7::
// 登录名:加密口令:1970年元旦到最后一次修改密码的天数:两次修改密码的最小时间间隔:最大时间
3./etc/group 组文件信息
这些字段分别是:组名、口令、组标识号(GID)、组内用户列表。
// 记录用户组信息
$ cat /etc/group
// 查看此文件夹最后几行
$ tail /etc/group
3.2 用户管理命令
3.2.1 用户管理
1.添加用户
命令useradd添加用户
格式:
$ useradd [选项] 用户名
-m 指定新建用户到用户主目录
2.修改命令口令
命令passwd修改命令口令
格式:
$ passwd [选项] 用户名
3.删除用户
命令userdel删除用户
格式:
$ userdel [选项] 用户名
eg:
- 切换到home目录
- 查看home目录下的文件
- 新建新用户demo
- 查看home目录下的文件
- 给demo用户设置密码
- 切换到demo用户界面
- 切换到主用户界面
- 删除demo用户及demo文件夹
- 杀死demo进程
- 查看home目录下的文件
4.用户属性修改
命令groupmod用户属性修改
格式:
$ groupmod [选项] 用户名
-a 添加 -G 指定组名
$ sudo usermod -aG 组名 用户名
3.2.2 用户组管理
Linux操作系统中的每一个用户都有一个用户组。一般情况下,Linux操作系统下的用户属于与它同名的用户组,这个用户组一般是在创建用户时同时创建的。用户组的管理包括添加、删除以及修改用户组。
1.用户组的添加
命令groupadd添加新的用户组
格式:
$ groupadd [选项] 用户组
-g 指定新用户组标识号(GID)
2.用户组的删除
命令groupdel删除已存在的用户组
格式:
$ groupdel 用户组
3.用户组的修改
命令groupmod修改用户组的属性
格式:
$ groupmod [选项] 用户组
-n 将用户组的名字改为新的名字 (更改后的名字 更改前的名字) -g 指定新的 组标识号(GID)
// 切换用户组
$ newgrp 用户组
修改用户组属性:
切换用户组:
如果一个用户同时属于多个用户组,那么该用户可以在用户组之间切换,以获得其他用户组的权限。
4. 用户组成员的添加与删除
格式:
$ gpasswd [选项] 用户名 组名
// 把用户添加到组
$ gpasswd -a 用户名 组名
// 把用户从组中删除
$ gpasswd -d 用户名 组名