文章目录
一、用户账户/组账号
1.用户账号
-
超级用户:root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的。
-
普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限。
-
程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如 bin、daemon、ftp、mail 等。
2.组账号
-
基本组(私有组):基本组账号只有一个,一般为创建用户时指定的组。
在/etc/passwd文件中第4字段记录的即为该用户的基本组 GID 号。 -
附加组(公共组):用户除了基本组以外,额外添加指定的组。
3.UID/GID
UID
User IDentity,用户标识号
对于root用户来说,他的UID为0
对于程序用户账号来说,他的UID默认为1~499
对于普通用户来说,他的UID默认为500~60000
GID
Group IDentify,组标识号
对于root用户来说,他的UID为0
对于程序用户账号来说,他的UID默认为1~499
对于普通用户来说,他的UID默认为500~60000
4.用户账号文件
4.1 /etc/passwd
如下图:
每一行对应每一个账号
显示的信息分为七段
- 字段1:用户帐号的名称
- 字段2:用户密码占位待"x"
- 字段3:用户帐号的UID号
- 字段4:所属基本组帐号的GID号
- 字段5:用户全名
- 字段6:宿主目录
- 字段7:登录shell信息
- 补充:/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统
4.2 /etc/shadow
默认只有 root 用户能够读取 /etc/shadow 文件中的内容,且不允许直接编辑该文件中的内容。
每一行对应一个用户的密码记录
二、配置用户账号
1. 添加用户账号
命令格式:
格式:useradd [选项] 用户名
常用选项:
- -u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
- -d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。
- -e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
- -g:指定用户的基本组名(或使用 GID 号),对应的组名必须已存在。
- -G:指定用户的附加组名(或使用 GID 号),对应的组名必须已存在。
- -M:不建立宿主目录。
- -s:指定用户的登录 Shell,(比如/bin/bash为可登陆系统,/sbin/nologi和/bin/false为禁止用户登陆系统)。
补充:
- 若未明确指定用户的宿主目录,则在/home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。
- 若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group 和/etc/gshadow 文件中。
- 在使用 useradd或者adduser添加一个用户的时候,是不能进行任何操作的,因为没有将这个用户进行激活。只有给这个用户配置一个密码之后才能被激活,然后才能进行操作。
例如:
[root@localhost ~]# useradd -e 2020-2-2 -s /bin/bash text1
[root@localhost ~]# passwd text1
更改用户 text1 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
2.设置密码
格式:
passwd [选项] 用户名
常用选项:
- -d:清空指定用户的密码,仅使用用户名即可登录系统。
- -l:锁定用户账户,锁定的用户账号将无法再登录系统。
- -S:查看用户账户的状态
- -u:解锁用户账户。
- -f:强制解锁
例如:
[root@localhost ~]# passwd -l text1
锁定用户 text1 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -S text1
text1 LK 2021-02-01 0 99999 7 -1 (密码已被锁定。)
3.修改用户账号属性
命令格式:
usermod [选项] 用户名
常用选项:
- -u:修改用户的 UID 号。
- -d:修改用户的宿主目录位置。
- -e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
- -g:修改用户的基本组名(或使用 GID 号)。
- -G:修改用户的附加组名(或使用 GID 号)。
- -s:指定用户的登录 Shell。
- -l:更改用户账号的登录名称。
- -L:锁定用户账户。
- -U:解锁用户账户。
4. 删除用户账号
命令格式:
userdel [-r] 用户名
-r 删除宿主目录
例如:
(text1未指定宿主目录,所以默认在home目录下创建了个同名宿主目录)
三、配置组账号
与用户账户文件类似
/etc/group:保存组帐号基本信息
/etc/gshadow:保存组帐号的密码信息
wheel:x:10:wang
分为四字段
- 字段1:组帐号的名称
- 字段2:占位符“x”
- 字段3:组账号的GID号
- 字段4:组账号包含的用户成员(一般不包括基本组对应的用户帐号),多个成员之间以逗号“,”分隔
1. 添加组账号
格式:
groupadd [-g GID] 组账号名
- -g 指定GID
2. 删除组账号
格式:
groupdel 组账号名
3. 添加组成员
命令格式:
gpasswd [选项] 组成员名 组账号名
常用选项:
- -a:向组内添加一个用户
- -d:从组内删除一个用户成员
- -M:定义组成员列表,以逗号分隔
定义组成员列表示例:
查询text组 发现目前只有text1成员
定义组成员列表(text2,text3,text6)后text组的成员就变成了text2,text3,text6,原来的text1已经被删除并添加了新的成员
总结一句话 定义组成员后,组内与列表相对比 相同的覆盖,不同的删除,没有的添加
四、文件/目录权限及归属
1.权限表示
-
读取 r:允许查看文件内容、显示目录列表
-
写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
-
可执行 x:允许运行程序、切换目录
读、写、执行的权限八进制数表示为:4、2、1
即可读可写可执行的权限可表示为“7”
2. 归属
- 属主:拥有该文件或目录的用户帐号
- 属组:拥有该文件或目录的组帐号
3. 配置目录或文件权限
chmod xxx 文件或目录 //xxx为权限八进制数,分别为属主、属组、其他用户
- -R 为递归修改目录下所有子目录及文件的权限
4. 配置目录或文件的归属
修改属主
chown 属主 文件或目录
修改属组
chown :属组 文件或目录
chgrp 属组 文件或目录
修改属主+属组
chown 属主:属组 文件或目录
chown 属主.属组 文件或目录
- -R:递归修改指定目录下所有子目录及文件的归属
例如:修改text3的属主属组都为text1