1.基本权限 UGO
u:user 属主
g:group属组
o:others 其他人
r:read 读权限=4
w:write写权限=2
x:exec执行权限=1
1.1设置权限
chown:更改文件或者目录的属主及属组
chmod:为文件或目录设置权限
chown
[root@localhost ~]# chown hr.alice a.txt //修改属主、属组
[root@localhost ~]# chown tom a.txt //修改属主
[root@localhost ~]# chown .jack a.txt //只修改属组
[root@localhost ~]# chown -R hr.alice dir //递归修改---只针对目录
chmod
修改权限可以通过使用符号修改,也可以使用数字修改权限。
使用符号
-rw-r--r--. 1 hr alice 0 2月 28 19:06 a.txt
[root@localhost ~]# chmod u+x a.txt //属主增加执行权限
[root@localhost ~]# chmod a=rwx a.txt //所有人等于读写执行权限
[root@localhost ~]# chmod a=- a.txt //所有人都没有权限
[root@localhost ~]# chmod ug=rw,o=r a.txt //属主和属组等于读写权限,其他人等于读权限
[root@localhost ~]# ll
-rw-rw-r--. 1 tom jack 0 Nov 1 15:30 a.txt
使用数字
[root@localhost ~]# chmod 644 a.txt
[root@localhost ~]# ll a.txt
-rw-r--r--. 1 hr alice 0 2月 28 19:06 a.txt
[root@localhost ~]# chmod 755 a.txt
[root@localhost ~]# ll
总用量 0
-rwxr-xr-x. 1 hr alice 0 2月 28 19:06 a.txt
[root@localhost ~]# chmod 521 a.txt
[root@localhost ~]# ll
总用量 0
-r-x-w---x. 1 hr alice 0 2月 28 19:06 a.txt
2.权限案例UGO
2.1设置权限案例
针对hr部门的访问目录/home/hr设置权限,要求:root和hr组的员工可以读写执行,其他用户没有任何权限
[root@localhost ~]# groupadd hr
[root@localhost ~]# useradd hr01 -G hr
[root@localhost ~]# useradd hr02 -G hr
[root@localhost ~]# mkdir /home/hr
[root@localhost ~]# chown .hr /home/hr
[root@localhost ~]# chmod 770 /home/hr
[root@localhost ~]# ll -d /home/hr
drwxrwx---. 2 hr hr 62 2月 28 19:06 /home/hr
2.2.rwx对文件的影响
文件对其他人有读写权限,其他人可以查看此文件,也可以在此文件写东西,但无法执行该文件,一个用户对于一个文件,如果想在此文件下写入东西,需要同时拥有rw权限,否则即使其他人对该文件有w权限,没有r权限,是无法向文件内写入内容的。
2.3.rwx对目录的影响
没有r权限,其他人无法查看目录内的内容。即使有了r权限,但是没有x执行权限,其他用户使用ls命令查看这个目录里的内容,会提示无法访问该目录,但依然会列出目录下的文件。也就是说查看一个目录下的内容需要有r权限。
对于目录来说其他人如果没有w写权限,在目录内是无法创建或删除文件的,其他人想在该目录下创建删除文件需要同时拥有wx权限。
其他人打开一个目录需要x执行权限 (切换到一个目录,需要对该目录有x权限)
其他人对某目录有rwx权限,对该目录下的文件没有任何权限,其他人可以在该目录下创建删除文件,但无法对该目录中的文件做任何操作,即使是查看也没有权限
权限掩码
umask用户掩码
umask 用户掩码:控制用户创建文件和目录的默认权限
# umask 查看用户掩码
# umask 掩码 修改掩码
0022 root账户默认 0002 普通用户默认
root用户默认最高权限:目录777 文件666
root用户创建目录和文件的默认权限为:
目录:r w x r w x r w x
掩码:- - - - w - - w -
新建目录:r w x r - x r - x root用户创建目录的默认权限为755
文件:r w - r w - r w -
掩码:- - - - w - - w -
新建文件:r w - r - - r - - root用户创建文件的默认权限为644
普通用户创建目录和文件的默认权限为:
目录:r w x r w x r w x
掩码:- - - - - - - w -
新建目录:r w x r w x r - x 普通用户创建目录的默认权限为775
文件:r w - r w - r w -
掩码:- - - - - - - w -
新建文件:r w - r w - r - - 普通用户创建文件的默认权限为664
高级权限(了解)
高级权限的类型
suid ==== 4 提权 (只对二进制命令文件生效,其他不管用)执行者将具有该程序拥有者(owner)的权限。which 查看命令的工作路径 例如:which cat /usr/bin/cat
sgid ==== 2 组继承 主要用于目录,如果用户在此目录下具有w权限的话,使用者在此目录下建立新文件,则创建的这个文件的群组与此目录的群组相同。
sticky == 1 (t权限) 权限控制,目前只针对目录有效,对于目录的作用是:当用户在该目录下建立文件或目录时,仅有自己与 root才有权力删除。
设置特殊权限
a、字符---语法:
chmod u+s file 针对文件
chmod g+s dir 针对目录
chmod o+t dir
b、数字(不建议使用,了解即可)
chmod 4777 file
chmod 2770 dir
chmod 1770 dir
suid 普通用户通过suid提权 针对文件
[root@localhost ~]# chmod u+s /usr/bin/cat
[root@localhost ~]# su - alice
上一次登录:日 1月 23 16:14:22 CST 2022pts/0 上
[alice@localhost ~]$ cat /root/file1
[alice@localhost ~]$ 未报错,说明提权之后,普通用户使用cat命令也可以查看root目录中的文件
取消提权
[root@localhost ~]# chmod u-s /usr/bin/cat
sgid 组继承
[root@localhost ~]# chmod 775 /opt/dir1/
[root@localhost ~]# ll -d /opt/dir1/
drwxrwxr-x 2 root root 6 1月 23 16:22 /opt/dir1/
[root@localhost ~]# chown .hr /opt/dir1/
[root@localhost ~]# chmod g+s /opt/dir1/
[root@localhost ~]# ll -d /opt/dir1/
drwxrwsr-x 2 root hr 6 1月 23 16:22 /opt/dir1/
[root@localhost ~]# touch /opt/dir1/111
[root@localhost ~]# ll /opt/dir1/111
-rw-r--r-- 1 root hr 0 1月 23 16:25 /opt/dir1/111
[root@localhost ~]# chmod o+w /opt/dir1/ -R
[root@localhost ~]# su - alice
上一次登录:日 1月 23 16:15:34 CST 2022pts/0 上
[alice@localhost ~]$ touch /opt/dir1/222
[alice@localhost ~]$ ll /opt/dir1/222
-rw-rw-r-- 1 alice hr 0 1月 23 16:59 /opt/dir1/222
Sticky Bit t权限
[root@localhost home]# mkdir dir2
[root@localhost home]# chmod 757 dir2/
[root@localhost home]# chmod o+t dir2/
[root@localhost home]# ll -d dir2/
drwxr-xrwt 2 root root 6 1月 23 17:04 dir2/
[root@localhost home]# su - alice
上一次登录:日 1月 23 16:26:08 CST 2022pts/0 上
[alice@localhost ~]$ touch /home/dir2/alice.txt
[alice@localhost ~]$ 登出
[root@localhost home]# su - jack
[jack@localhost ~]$ rm -rf /home/dir2/alice.txt
rm: 无法删除"/home/dir2/alice.txt": 不允许的操作
sudo提权
vim /etc/sudoers
配置解释:
root表示用户名
第一个 ALL 指示允许从任何终端、机器访问 sudo
第二个 (ALL) 指示 sudo 命令被允许以任何用户身份执行
第三个 ALL 表示所有命令都可以作为 root 执行
[root@localhost ~]# visudo
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
alan ALL=(ALL) NOPASSWD:ALL
## Allows members of the 'sys' group to run networking, software,
[root@localhost ~]# su - alan
上一次登录:二 3月 1 15:50:23 CST 2022pts/0 上
[alan@localhost ~]$ sudo mkdir /test
ACL提权
ACL文件权限管理:设置不同用户,不同的基本权限(r、w、x)。对象数量不同。
参数介绍:
-
-m:修改文件当前的ACL,不可与-x参数合用
-
-x:从文件的ACL中单独移除一条权限
-
-b:移除文件的全部ACL
设置完acl命令后可以通过getfacl 文件名 来查看增减的acl命令,此时不能用ll查看文件的权限,不准确。