Bootstrap

学Linux的第六天

目录

账户和组管理

工作组管理

创建工作组groupadd

修改工作组groupmod

添加/删除组成员gpasswd

删除工作组groupdel

查看用户登录系统的情况

users查看当前登录系统的用户

last命令

lastlog命令

w命令 显示登录到系统的用户信息

who命令

Linux文件系统权限

文件的一般权限

文件详细信息

文件权限构成

chmod(change mode):修改文件或目录的权限

chown命令 修改文件或目录的所有者和属组

特殊权限

SUID权限

SGID 权限

Sticky Bit权限

设置特殊权限

ACL 权限给指定的用户指定目录分配指定的权限。

查看ACL权限getfacl

设定ACL权限setfacl

权限掩码umask

查看默认umask值

修改默认umask


 

账户和组管理

工作组管理

创建工作组groupadd

groupadd -参数 工作组名

参数
-g GID :指定新工作组的 GID ,默认值是已有的最大的 GID 1
-r : 建立一个系统组账号,与 -g 不同时使用时 , 则分配一个 1 999 GID
[root@server ~] # groupadd group2 -g 2000
//添加一个组 ID 2000, 组名为 group2 的新组

修改工作组groupmod

groupmod -参数 工作组名

参数
-g GID—— 为用户组指定新的组标识号
-n 新用户组 —— 将用户组的名字改为新名字修改用户组的名称和用户组的 GID
将组 group1 GID 修改为 3000, 组名修改为 group11
[root@server ~] # groupmod -g 3000 -n group11 group1

添加/删除组成员gpasswd

gpasswd - 参数 账户 工作组
-r : 删除组密码
-a : 把用户加入组
-d : 把用户从组中删除。
-M : 可同时添加多个用户
-A : 给组指派管理员。
只有 root 用户和组管理员才能够使用该命令

删除工作组groupdel

groupdel 工作组名
被删除的组若是基本组,则必须先删除引用该基本组的用户,然后再删除该基本组

查看用户登录系统的情况

users查看当前登录系统的用户

[root@server ~]# users

last命令

列出目前与过去登入系统的用户相关信息,该命令默认会去读取 /var/log/wtmp 文件,并把该文件
记录的登入系统的用户名单全部显示出来

lastlog命令

查看每个账号的最近登录时间,该命令会读取 /var/log/lastlog 文件

w命令 显示登录到系统的用户信息

who命令

显示目前登录到系统的用户,会从/var/run/utmp 文件来获取信息

Linux文件系统权限

文件的一般权限

文件详细信息

使用命令 ll ls -l 查看

文件权限构成

r read ) 可以读取文件的内容
可以列出目录的内容,即目录下的文件的文件名
w write ) 可以更改文件的内容
可以创建或者删除目录中的任一文件(只有 w 权限无法创建删除文件,需要和x 权限一起使用)
x (execute ) 可以作为可执行文件,如脚本
可以切换到目录,如 cd 命令
root 账户不受文件权限的读写限制,执行权限受限制

chmod(change mode):修改文件或目录的权限

chmod [ 选项 ] [ugoa][ + - = ][rwx] 文件或目录 ...
chmod [ 选项 ] nnn 文件或目录 ...
-R :递归修改指定目录下所有文件、子目录的权限
ugoa :表示权限设置所针对的用户类别,可以是其中字母中的一个或组合, u(user) 表示文件或目录
的属主 ( 所有者 ) g(group) 表示属组内的用户; o(others) 表示其他用户; a(all) 表示所有用户 (
u+g+o)
+ - = :表示设置权限的操作动作, + 代表添加; - 代表取消; = 表示只赋予给定的权限,并取消原
有的权限。
rwx :用字符形式表示的所设置的权限,可以是其中一个字母或组合
nnn :用数字表示的权限

chown命令 修改文件或目录的所有者和属组

chown - 参数 所有者:所属组 文件名或目录名
# 参数 -R 递归设置

特殊权限

UID(SUID) SET GID(SGID) Sticky Bit( 粘滞位 ) 三种特殊权限,用于对文件或目录进行更加灵活方便的访问控制

SUID权限

让一般用户在执行某些程序的时候, 在程序的运行期间, 暂时获得该程序文件所属者的权限。

如果这个所有组是root,加s是新建文件所有组还是root,权利提升
-rwsr-xr-x 这样

suid 仅对二进制文件有效
在执行过程中,调用者会暂时获得该文件的所有者权限
该权限只在程序执行的过程中有效

SGID 权限

文件: 如果 SGID 设置在二进制文件上, 则不论用户是谁,在执行该程序的时候,程序的所属组将
会变成该程序文件的所属组。
目录:如 果 SGID 是设置在 A 目录上, 则在 A 目录内所建立的文件或目录的所属组, 将会是此 A
目录的所属组

Sticky Bit权限

是在其他人后面加t,只能被文件里的所有者写,

设置特殊权限

为文件或目录添加三种特殊权限同样可以通过 chmod 命令来实施 , 使用 “u±s” “g±s” “o±t” 的字符权
限模式分别用于添加和移除 SUID GUID sticky 权限。
若使用数字形式的权限模式 , 可采用 “nnnn” 格式的四位八进制数字表示,其中:后面三位是一般权限
的数字表示,前面第一位则是特殊权限的标志数字:
0—— 表示不设置特殊权限
1—— 表示只设置 sticky
2—— 表示只设置 GUID 权限
3—— 表示只设置 SGID sticky 权限
4—— 表示只设置 SUID 权限
5—— 表示只设置 SUID sticky 权限
6—— 表示只设置 SUID SGID
7—— 表示同时设置 SUID GUID sticky3 种权限

ACL 权限给指定的用户指定目录分配指定的权限。

查看ACL权限getfacl

getfacl 文件名

设定ACL权限setfacl

setfacl - 参数 文件名
-m :设定 ACL 权限
给用户设定 ACL 权限: setfacl -m u: 用户名 : 权限 指定文件名
给用户组设定 ACL 权限: setfacl -m g: 组名 : 权限 指定文件名
-x :删除指定的 ACL 权限;
-b :删除所有的 ACL 权限;
-d :设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限;
-k :删除默认 ACL 权限;
-R :递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效

权限掩码umask

Linux 系统中,当用户创建一个新的文件或目录时,系统都会为新建的文件或目录分配默认的限,该默认权限与umask 值有关
新建文件的默认权限 =0666-umask (减去)
新建目录的默认权限 =0777-umask

查看默认umask

[root@server ~] # umask

修改默认umask

[root@server ~] # umask 000 # 临时修改
;