本篇博客主要介绍 Liunx 操作系统中有关用户与组相关的属性与权限, 并且详解如何对文件 / 目录进行权限, 归属的设置. 接下来我将主要从以下几个部分进行详细的讲解
目录简述:
用户账户和组账户概述
用户账户和组账户管理
查询相关账户信息
查看目录或文件的属性
设置目录或文件的权限, 归属
一, 用户账户和组账户概述, 管理
1, 用户账户和组账户概述
1-1 组成部分
用户账户主要分为以下几个部分
组账户主要分为以下几个部分
1-2 文件存放位置及账户详解
用户账户:
存放位置: 所有账户文件都存放在 "/etc/passwd" 中, 所有的密码文件都存放在 "/etc/shadow" 中(不是明文, 需要通过哈希算法进行解码)
格式: 这里以 root 账户做例子, 这里用户账户 ID, 组账户 ID 即为 UID,GID
UID 和 GID 这两者为账户标识符
超级 (root) 用户的 UID 为 0, 程序用户的 UID 为 1~499, 普通用户的 UID 为 500~60000.
GID 表示的是组的组标识号
组账户:
所有账户文件都存放在 "/etc/group" 中, 所有的密码文件都存放在 "/etc/gshadow" 中(一般不设密码, 如果有密码同样不是明文)
格式: 以 adm 这个附加组为例
2, 用户账户和组账户管理
1-1 用户账户管理
(1)useradd 指令添加用户账户
格式: useradd [选项] 新建的用户名
常用选项:
-u 指定 UID
-d 指定宿主目录(不能事先创建好相应的空目录)
-e 指定失效时间(YYYY-MM-DD 或者明确的天数)
-G 指定附加组(附加组需要事先建好)
-g 指定基本组
-M 不创建宿主目录
-s 指定 shell 登录 / bin/bash(登录)或者 / sbin/nologin(禁止登录)
(2)passwd 指令设置用户密码
格式: passwd [选项] 密码
常用选项:
-d 删除原有密码
-S 查看用户状态
-l 锁定用户密码
-u 解锁用户密码
不使用选项 修改当前用户密码
(3)usermod 指令修改用户属性
格式: usermod [选项] 用户名
常用选项:
-L 锁定用户
-U 解锁用户
剩下的 "-u,-d,-e,-g,-G,-s" 含义与 useradd 指令中的含义完全相同.
(4)userdel 指令删除用户
格式: userdel [-r] 用户名
选项: 常用的就 - r, 连目标用户的家目录一齐删除(不用 - r 会留下一个空文件夹)
1-2 组账户管理
组账户的管理基本相同于用户账户
(1)groupadd 指令添加组账户
格式: groupadd [-G GID] 组账户名
实例:
(2)gpasswd 指令添加, 删除组成员(也有设置组密码的功能不过不常用)
格式: gpasswd [选项] 组账户名
常用选项:
-a 添加组成员(追加添加, 一次一个)
-d 移除组成员(一次移除一个)
-M 定义组成员(每个组成员之间逗号分隔, 会覆盖原有组成员)
(3)gpassdel 指令删除组账户
格式: gpassdel [组账户名]
3, 常用查询用户信息指令
group 组用户名 -- 查询组信息
id 用户名 -- 查询用户信息
finger 用户名 -- 查询用户详细信息(Centos7 预制没有该指令, 需要通过 yum 库在线安装)
4, 查看目录或文件的属性
通常文件 / 目录都或多或少具备以下三种属性:
读取 r: 允许查看内容
写入 w: 允许修改内容, 允许新建, 复制, 移动文件 / 目录
可执行 x: 允许允许程序, 允许跳转
想要查看着三种属性, 可通过 "ls -l" 查看, 这里我为大家举一个例子:
其中文件类型, 权限中, 第一个 "-" 代表文件类型:"d"-- 目录,"-"-- 文件,"l"-- 连接, 而后面的 "rw-r--r--" 代表的是文件权限, 分别代表着属主权限, 属组权限, 其他用户权限. 日常中通常将权限表达为数字, 例如上面的文件权限就可表达为 "644", 详情可参照下表
之后的各项数字 \ 字母分别表示:
"1"-- 目录下有几个子目录
"root root"-- 属主, 属组
"34298"-- 文件 \ 目录大小(单位: 字节)
"04-02 00:23"-- 建立时间
"insetall.log"-- 文件 \ 目录名称
5, 设置目录或文件的权限, 归属
5-1 chmod 指令设置文件权限
格式: chmod [ugno] [+-=] 文件或目录 -- 复杂, 不常用
[ugno]分别表示为属主, 属组, 其他用户, 所有用户
[+-=]分别表示为增加权限, 去除权限, 设置权限
例如: chmod u +x abc.txt-- 为 abc.txt 文件的属主加上可执行 x 的权限(是不是很繁琐?)
接下来介绍第二种设置文件方法:
格式: chmod [nnn] 文件或目录
[nnn]表示八进制数字(通过上章节介绍的权限对应数字的表得出)
例如: chmod 744 abc.txt-- 为 abc.txt 文件设置 744 权限(数字含义看之前的表)
另外, 可通过 "-r" 的方式为目录下所有文件统一权限
5-2 chown 指令修改属主, 属组
格式:
chown 属主 文件 \ 目录 ---- 修改属主
chown : 属组 文件 \ 目录 ---- 修改属组
chown 属主: 属组 文件 \ 目录 ---- 同时修改属主, 属组
同样, 可通过 "-r" 的方式为目录下所有文件统一归属
5-3 umask 权限掩码
含义: 控制新建的文件或者目录的权限, 默认权限去除 umask 的权限就为新建的文件或者目录对的权限
格式:
umask 设置: umask 022
umask 查看: umask
示例:
将 umsak 设为 000, 新建目录或者文件, 查看权限
将 umsak 设为 022, 新建目录或者文件, 再查看权限
来源: http://www.bubuko.com/infodetail-3161279.html