linux账号及相关权限

一、用户账户/组账号

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为禁止用户登陆系统)。

补充:

  1. 若未明确指定用户的宿主目录,则在/home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。
  2. 若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group 和/etc/gshadow 文件中。
  3. 在使用 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.权限表示

  1. 读取 r:允许查看文件内容、显示目录列表

  2. 写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录

  3. 可执行 x:允许运行程序、切换目录

读、写、执行的权限八进制数表示为:4、2、1
即可读可写可执行的权限可表示为“7”

2. 归属

  1. 属主:拥有该文件或目录的用户帐号
  2. 属组:拥有该文件或目录的组帐号

3. 配置目录或文件权限

chmod xxx 文件或目录  //xxx为权限八进制数,分别为属主、属组、其他用户
  • -R 为递归修改目录下所有子目录及文件的权限

4. 配置目录或文件的归属

修改属主

chown 属主 文件或目录

修改属组

chown :属组 文件或目录
chgrp 属组 文件或目录

修改属主+属组

chown 属主:属组 文件或目录
chown 属主.属组 文件或目录
  • -R:递归修改指定目录下所有子目录及文件的归属
    例如:修改text3的属主属组都为text1

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/bugggggggg/article/details/113498208