Linux账户和权限管理
这里写目录标题
前言
Linux作为一个多任务,多用户的服务器操作系统,Linux提供了严格的权限管理机制,主要从用户身份,文件权限两方面对资源访问进行控制。
一:用户账号和组账号概述
- Linux系统中的用户账号和组账号的作用在本质上和Windows是一样的,都是基于用户身份来控制对资源的访问。但是在个别细节和表现形式方面还是有些许差异的。
1.1:用户账号概述
1.2:组账号概述
- 对于用户账号来说,对应的组账号可以分为基本组(私有组)和附加组(公共组)两种。每一个用户账号可以是多个组账号的成员,但是其基本组账号只有一个。在”/etc/passwd“文件中第四个字段记录的即为该用户的基本组GID号。而对于该用户还属于那些附加组,需要在对应组账号文件中才被体现。
1.3:UID号和GID号
- Linux系统中的每一个用户账号和组账号都有一个数字形式的身份标记,称为UID(User
IDentity,用户标识号)和GID(Group
IDentify,组标识号)。对于系统核心来说,UID是作为区分用户的基本依据,原则上每个用户的UID号应该是唯一的。
1.4:用户账号文件
-
Linux系统中的用户账号,密码等信息均保存在相对应的 配置文件中,直接修改这些文件或者使用用户管理命令都可以对用户账号进行管理。
-
与用户账号相关的配置文件主要有两个,分别是/etc/passwd,
/etc/shadow、前者用于保存用户名称,宿主目录,登录Shell等基本信息,后者用于保存用户的密码,账号有效期等信息。
在这两个配置文件中,每一行对应一个用户账号,不同的配置项之间使用冒号“:”进行分隔。
1.4.1:用户账号文件/etc/passwd
- 系统中所有用户的账号信息都保存在“/etc/passwd”文件中,该文件是文本文件,任何用户都可以读取文件中的内容。
系统中新增加的用户账号信息会保存到passwd文件的末尾。
基于系统运行和管理的需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。在早期的UNIX操作系统中,用户账号的密码信息也是保存在passwd文件中的,但是可以被不法用户暴力**,因此后来将信息转存入专门的shadow文件中,而passwd文件中仅保留密码占位符“x”。
passwd文件的每一行内容中,包含了七个用冒号“:”分隔的配置字段,我们需要了解其含义。
1.4.2:用户账号文件/etc/shadow
- shadow文件又被称为“影子文件”,其中保存有各种用户账号的密码信息,因此默认只有root用户能够读取文件中的内容,而不允许直接编辑改文件中的内容。
1.5:组账号文件
1.5.1:/etc/group 和 /etc/gshadow
- 组账号文件也有两个,分别是/etc/group,
/etc/gshadow。与用户账号文件非常类似。前者用于保存组账号名称,GID号,组成员等基本信息,后者用于保存组账号的加密密码字符串等信息(但是很少使用到)。
某一个组账号包含哪些用户成员,将会在group文件内最后一个字段中体现出来(基本组对应的用户账号默认可能不会列出),多个组成员之间使用逗号“,”分隔。
例如:查看root组包括哪些用户成员,哪些组中包含root用户。
二:用户账号和组帐号管理
2.1:用户账号管理
- 切换用户:su 用户,保持路径不变
- su - 用户,切换到当前用户的家目录
- grep “bash$” /etc/passwd 查看当前可用用户
- 用户被锁定后,可以从高权限用户切换到普通用户,但是不可以用普通用户登录
2.1.1:useradd命令–添加用户账号
2.1.2:passwd命令–设置/更改用户口令
2.1.3:usermod命令–修改用户账号的属性
- 对于系统中已经存在的用户账号,可以使用usermod命令重新设置各种属性。usermod命令同样需要指定账号名称作为参数。
2.1.4:userdel命令–删除用户账号
2.1.5:用户账号的初始配置文件
2.2:组帐号管理
2.2.1:groupadd命令 --添加组账号
需要指定GID号时,可以使用’-g’选项。
2.2.2:gpasswd命令–添加删除组成员
2.2.3:groupdel命令–删除组账号
2.2.4:查询账号信息
-
id命令:查询用户账号的身份标识
-
groups命令:查询用户账号所属的组
-
groups命令可以查看指定的用户账号属于哪些组
-
finger命令:查询用户账号的详细信息
-
finger命令可以查询指定的账号的登录属性等详细信息,包括登录名称,完整名称,宿主目录,登录shell等
-
w命令:查询一登录到主机的用户信息
-
使用w命令可以查询当前主机中用户登录的情况,列出登录账号名称,所在终端,登录时间,来源地点等信息。
三:文件/目录的权限和归属
3.1:访问权限和归属
3.1.1:访问权限
3.1.2:归属
3.2:查看文件/目录的权限和归属
- 理解权限字段-rw-r–r–的含义
- 其他字段含义
- 我们可以使用-rwxrwxrwx来表示权限也可以用777来表示权限。
- rwx采用累加数字形式表示成 7 , r-x 表示成 5 , rwxr-xr-x 表示成755,rw-r–r–表示成644
- 数字固定不会变,一个普通的数据文件没有执行权限。
3.3:设置文件/目录的权限和归属
3.3.1:chmod命令–设置文件和目录权限
3.3.2:chown命令–设置文件和目录的归属
3.3.3:权限掩码 umask
- umask的分数指的是“该默认值需要减掉的权限,”因此,如果执行“umask
022”,代表group和other被拿掉了权限“2”,也就是被拿掉了写的权限。 - 如果执行命令“umask 000”,代表文件的默认权限是“777”
- -R 递归修改指定目录下所有文件,子目录的归属