CentOS7运维
Linux账号与权限
用户账户
分为 超级用户、普通用户、程序用户
超级用户:root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的
普通用户:由root用户或管理员用户创建,拥有的权限会收到限制,一般只在用户自己的宿主目录中拥有完整u秦安县
程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某给程序的正常运行,如 bin、daemon、ftp、mail等
组账户
基本组(私有组)
基本组账号只有一个,一般为创建用户时指定的组
在/etc/passwd文件中第4段记录的即为该用户的基本组GID号
附加组(公共组)
用户除了基本组以外,额外添加指定的组
UID和GID
UID用户标识号
GID组标识号
root 用户账号的 UID和GID 号为固定值0
程序用户账号的 UID和GID 号默认为 1~499
普通用户的 UID和GID 号默认为500~60000
用户账户文件/etc/passwd
- 保存用户名称、宿主目录、登陆shell等基本信息
- 文件位置:/etc/passwd
- 每一行对应一个用户的账号记录
- 所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改
- 早期系统中,账号密码存放在passwd文件中,因为很容易被暴力破解,后期账户密码放入到了shadow文件中,而passwd文件仅保留了密码占位符X
- passwd文件中每一行包含了7个冒号分隔的配置字段,示例如下:
- 第一段:用户账号—用户账号的名称,也是登录系统时使用的识别名称
- 第二段:密码占位符—表示自己有密码
- 第三段:用户账号ID(UID)—用户账号的UID号
- 第四段:组账号ID(GID)—所属基本组账号的GID号
- 第五段:用户说明—用户全名,可以填写与用户相关的说明信息
- 第六段:宿主目录(家目录)—该用户登录后所在的默认工作目录
- 第七段:登录Shell—登录shell等信息,用户完成登录后使用的shell(/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)
用户账户文件/etc/shadow
- 保存用户的密码、账号有效期等信息
- 文件位置/etc/shadow
- 每一行对应一个用户的密码记录
- 默认只有root用户能够读取shadow文件在的内容,且不允许直接编译该文件的内容
- shadow文件又被称为“影子文件”,其中保存有各种用户账号的密码信息,因此对shadow文件的访问应该进行严格限制
- shadow文件的每一行内容中,包含了九个用冒号分隔的配置字段,示例如下
字段 | 说明 |
---|---|
第一字段(root) | 用户账号名称 |
第二字段 | 使用MD5加密的密码字串信息,当为“*”或者“!!”时表示此用户不能登录到信息,若该字段内容为空,则该用户无需密码即可正常登陆系统 |
第三字段(14374) | 上次修改密码的时间,表示从1970年1月1日起到最近一次修改密码时间隔的天数 |
第四字段(0) | 密码的最短有效天数。自本次修改密码后,必须至少经过该天数才能再次修改密码,默认值为0,表示不进行限制 |
第五字段(99999) | 密码的最长有效天数,自本次修改后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制 |
第六字段(7) | 提前多少天警告用户口令将过期,默认值为7 |
第七字段 | 在密码过期后多少天内禁用此用户 |
第八字段 | 账号失效时间,此字段制定了用户作废的天数(从1970年1月1日算起),默认值为空,表示账号永久可用 |
第九字段 | 保留字段,目前没有特定用途 |
添加用户账号
useradd | [选项] | [用户名] |
---|
- 举例:添加一个用户
-d :指定宿主目录
-e :指定账户失效时间
-g :指定用户基本组
-G :指定用户附加组
-M :不建立宿主目录
-s :指定用户登录shell
设置用户密码
passwd | [选项] | 用户名 |
---|
- 举例:给cat设置密码[如不设置密码账户不会激活]
-d :清空密码(可以空密码登录)
-l :锁定用户
-s :查询用户状态
-u :解锁用户
修改用户账号的属性
usermod | [选项] | 用户名 |
---|
- 举例:修改用户uid
-d :修改宿主目录
-e :修改用户账户失效时间
-s :指定用户登录shell
-l :更改用户登录名
-L :锁定用户
-U :解锁用户
-g :修改用户所属的基本组
-G :修改用户所属的附加组
删除用户
userdel -r 用户名:删除用户时将宿主目录连带删除
添加组账户
groupadd -g gid 组账户名
查询组账户
grep ”组账户“ /etc/group
将用户加入指定组中
gpasswd -a 用户名 组名
gpasswd -d 用户名 组名
查询账户信息
id 用户名 查询用户的uid和gid
groups 用户名 查询用户所属的组
finger 用户名 查询用户的详细信息
w 查询当前主机用户登录情况
将多个用户加入新组
gpassed | [用户名] | [组名] |
---|
访问权限:
- 读取 r :允许查看文件内容,显示目录列表
- 写入 w :允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
- 可执行 x :允许允许程序,切换目录
归属(所有权):
- 属主:拥有该文件或目录的用户账号
- 属组:拥有该文件或目录的组账号
- 权限分三段:属主、属组、其他用户
设置文件和目录的权限chmod
chmod -R nnn 文件或目录
nnn为三个八进制数
设置文件和目录的归属
chown 属主 文件或目录
chown 属组 文件或目录
chown 属主:属组 文件或目录
权限掩码
控制新建的文件或者目录的权限
默认权限去除umask的权限为新建的文件或者目录的权限
mas
umask | 掩码 |
---|
- 举例:
如果执行命令“umask 000”,代表文件的默认权限是“777”
如果执行命令“umask 022”,代表目录的默认权限是“755”