1 用户账号和组账号
1.1 用户账号类型
用户类型分为三类,UID是用标识用户的
账户类型 | CentOs 6 | CentOs 7 |
---|---|---|
超级用户 | 0 | 0 |
普通用户 | 500-60000 | 1000-60000 |
程序用户 | 1-499 | 1-999 |
who命令
whoami 查看当前登录用户信息
超级用户:Linux系统内的超级用户账号,对本机拥有最高的权限
普通用户:由root或者其他管理员用户创建,只在自己的家目录中拥有完整权限,在其他目录中权限受到一定限制
程序用户:安装Linux系统时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或者某个程序的正常运行
1.2 基本组
基本组:建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组默认只容纳了一个用户。在用户所属组中的第一个组称为基本组,基本组在 /etc/passwd 文件中指定
基本组有且唯一,附加组可有可无可以有多个
1.3 附加组
除了第一个组外的其他组都为附加组或者公共组,附加组在/etc/group文件中指定
查看文件组ID命令 id lisi
2 ID
2.1 UID
Linux 操作系统中的每一个用户账号都有一个数字形式的身份标记
root 用户账号的 UID 号为固定值 0,而程序用户账号的 UID号默认为1~499,500~60000 的 UID 号默认分配给普通用户使用。
2.2 GID
与 UID 类似,每一个组账号也有一个数字形式的身份标记,称为 GID。root 组账号的 GID 号为固定值 0,而程序组账号的 GID 号默认为 1~499,500~60000 的 GID 号默认分配给普通组使用。
3 用户账号管理
3.1 文件位置
/etc/passwd 存放用户名称,家目录,登录shell等基本信息
/etc/shadow 存放用户密码
3.2 添加用户
useradd 用户名 添加用户成功后会在passwd和shadow文件中末尾生成用户账号记录和信息
useradd的可选项
选项 | 作用 |
---|---|
-u | 指定用户的UID,且此UID未被其他用户使用 |
-d | 指定用户的家目录地址(需要与-M一起使用) |
-e | 指定用户的账户失效时间(年-月-日表示) |
-g | 指定用户的基本组名 |
-G | 指定用户的附加组名 |
-M | 不建立家目录 |
-s | 指定用户登录的shell /sbin/nologin(拒绝用户登录) |
3.3 密码管理
passwd 密码 为当前用户账号设置密码
passwd 用户名 为指定用户设置密码
可选项
选项 | 作用 |
---|---|
-d | 清空指定用户密码(仍然可以登录只是不需要输密码) |
-l | 锁定用户账号 |
-S | 查看用户账号状态(是否被锁定) |
-u | 解锁用户账户 |
3.4 修改用户账号的属性
usermod 选项 用户名 (对已有用户修改账号属性)
可选项 | 作用 |
---|---|
-l | 更改用户登录名 |
-L | 锁定用户账号 |
-u | 修改用户UID号 |
-U | 解锁用户账号 |
-d | 修改用户家目录位置 |
-e | 修改用户失效时间 |
-g | 修改用户基本组名 |
-G | 修改用户的附加组名 |
-s | 指定用户登录的shell |
4 组管理
/etc/group :保存组账号基本信息
/etc/gshadow:保存组账号的密码信息基本不用
4.1 组内管理
gpasswd 命令
选项 | 说明 |
---|---|
-a | 向组内添加一个用户 |
-d | 从组内删除一个用户成员 |
-M | 定义组成员列表 |
删除组账号:groupdel 组账号名
查询用户账号信息:finger 用户名
5.文件/目录的权限和归属
5.1 用户类型
-
文件所有者
-
文件所在组
-
其他用户
5.2 权限类型
-
可读:r 十进制以4表示
-
可写:w十进制以2表示
-
可执行:x十进制以1表示
5.3 修改权限
chmod 对象 操作(+,-,=)(u,g,o,a)
u:user用户,表示文件和目录的所有者
g:group用户,表示和文件所有者同组ID的用户
o:others,表示其他用户
a:all,表示所有用户(他是系统默认值)
chmod 对象 十进制数字
x(执行):1
r(读):4
w(写):2
5.4 更改用户所属主和所有组
chown 用户:组名 文件名
-R:递归修改
6 umask
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
新建目录的默认权限: 777-umask
非特权用户umask默认是 002
root的umask 默认是 022
7 三种特殊权限
suid:使用这个命令时把当前用户当成文件的所属主
sgid:任何用户在该目录下创建的文件都会继承该目录的所主
sticky:只允许该目录的创建者和root用户删除文件
8 ACL控制
访问控制列表:除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
setfacl -m u:用户:权限 文件名
目录
超级用户:Linux系统内的超级用户账号,对本机拥有最高的权限
普通用户:由root或者其他管理员用户创建,只在自己的家目录中拥有完整权限,在其他目录中权限受到一定限制
程序用户:安装Linux系统时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或者某个程序的正常运行