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”

猜你喜欢

转载自blog.csdn.net/qq_42427971/article/details/113189339