用户身份与文件权限
本章内容:
用户身份与能力;
文件权限与归属;
文件的特殊权限;
文件的隐藏权限;
文件访问控制列表;
su 命令与 sudo 服务
用户身份与能力
管理员 UID 为 0:系统的管理员用户。
系统用户 UID 为 1~999: Linux 系统为了避免因某个服务程序出现漏洞而被黑客提 权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏 范围。
普通用户 UID 从 1000 开始:是由管理员创建的用于日常工作的用户。
管理员创建的普通用户的 UID 默认是从 1000 开始的(即使前面有闲置的号码)。
为了方便管理属于同一组的用户,Linux 系统中还引入了用户组的概念。通过使用用 户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方 便为组中的用户统一规划权限或指定任务
在 Linux 系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且 这个基本用户组只有该用户一个人。如果该用户以后被归纳入其他用户组,则这个其他用户 组称之为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组,从而满 足日常的工作需要
useradd
useradd 命令用于创建新的用户,格式为“useradd [选项] 用户名”
可以使用 useradd 命令创建用户账户。使用该命令创建用户账户时,默认的用户家目录会 被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名 的基本用户组
参数 | 作用 |
---|---|
-d | 指定用户的家目录(默认为/home/username) |
-e | 账户的到期时间,格式为 YYYY-MM-DD. |
-u | 指定该用户的默认 UID |
-g | 指定一个初始的用户基本组(必须已存在) |
-G | 指定一个或多个扩展用户组 |
-N | 不创建与用户同名的基本用户组 |
-s | 指定该用户的默认 Shell 解释器 |
下面我们创建一个普通用户并指定家目录的路径、用户的 UID 以及 Shell 解释器。在下 面的命令中,请注意/sbin/nologin,它是终端解释器中的一员,与 Bash 解释器有着天壤之别。 一旦用户的解释器被设置为 nologin,则代表该用户不能登录到系统中:
[root@localhost ~]# useradd -d /home/linux -u 8888 -s /sbin/nologin sttop
[root@localhost ~]# id sttop
uid=8888(sttop) gid=8888(sttop) 组=8888(sttop)
groupadd