自我塑造的过程很疼,但终将遇见更好的自己
基本权限
权限对象: 基本权限类型:
属主------->u 读(read):r ---->4
属组------->g 写(write):w ---->2
其他人----->o 执行: x(exec) ---->1
例:
r w x rw- r-- alice hr file1.txt
属主权限 属组权限 其他人权限 属主 属组 文件
设置权限
chown: 改变文件或目录的所属主以及所属组
chmod: 为文件或目录设置访问权限
语法:
chown 属主.属组 文件 # 修改文件属主属组
chown -R 属主.属组 目录 # 递归修改(目录)
[root@localhost ~]# chown alice.hr file1.txt # 修改属主(alice)、属组(hr)
[root@localhost ~]# chown tom file1.txt # 修改属主(tom)
[root@localhost ~]# chown .it file1.txt # 只改属组(it)
[root@localhost ~]# chown -R alice.hr dir1 # 递归修改---针对目录
修改权限
符号语法:
对象 | 赋值符 | 权限类型 | 文件 | |
---|---|---|---|---|
chmod | u | + | r | |
chmod | g | - | w | |
chmod | o | = | x | |
chmod | a |
[root@localhost ~]# chmod u+x file1.txt # 属主增加执行
[root@localhost ~]# chmod a=rwx file1.txt # 所有人等于读写执行
[root@localhost ~]# chmod a=- file1.txt # 所有人都没有权限
[root@localhost ~]# chmod ug=rw,o=r file1.txt # 属主属组等于读写,其他人只读
[root@localhost ~]# ll
-rw-rw-r--. 1 tom it 0 Nov 1 15:30 file1.txt
数字语法:
chmod 7(rwx)6(rw-)1(–x) 文件
读(read):r ---->4 写(write):w ---->2 执行: x(exec) ----->1
[root@localhost ~]# chmod 644 file1.txt # 属主(rw-)属组(r--)其他(r--)
[root@localhost ~]# ll file1.txt
-rw-r--r--. 1 tom it 0 Nov 1 15:30 file1.txt
[root@localhost ~]# chmod 755 file1.txt # 属主(rwx)属组(r-x)其他(r-x)
[root@localhost ~]# ll
-rwxr-xr-x 1 root root 0 Jul 23 22:40 file1.txt
[root@localhost ~]# chmod 521 file1.txt # 属主(r-x)属组(-w-)其他(--x)
[root@localhost ~]# ll
-r-x-w---x 1 root root 0 Jul 23 22:40 file1.txt
小结
对文件: 对目录:
r ---cat r ---ls
w ---vi、vim w ---touch、rm
x ---/dir/file #绝对路径 x ---cd
## bash 强制执行
注意!!!
对目录有w权限,可以在目录中创建新文件,可以删除目录中的文件(跟文件权限无关)
文件: x 权限小心给予
目录: w 权限小心给予
高级权限
高级权限类型
uid ==== 4 提权 (只对二进制命令文件生效,其他不管用)---文件
sgid ==== 2 组继承 (只能对目录设置)---目录
sticky == 1 (t权限) 权限控制
设置特殊提权
语法:
字符: 数字:
chmod u+s file chmod 4777 file
chmod g+s dir chmod 2770 dir
chmod o+t dir chmod 1770 dir
取消提权
[root@localhost ~]# ll /usr/bin/rm
-rwsr-xr-x. 1 root root 62864 Nov 6 2016 /usr/bin/rm
此时一旦给rm加上suid权限之后,普通用户相当于root用户。(即提权)
[root@localhost ~]# chmod u-s /usr/bin/rm # 取消提权
放开所有命令使用权
配置解释:
root表示用户名
第一个 ALL 指示允许从任何终端、机器访问 sudo
第二个 (ALL) 指示 sudo 命令被允许以任何用户身份执行
第三个 ALL 表示所有命令都可以作为 root 执行
[root@localhost ~]# visudo # 打开配置文件
90 ##
91 ## Allow root to run any commands anywhere
92 root ALL=(ALL) ALL
93 jack ALL=(ALL) NOPASSWD: ALL # 添加内容
94 ## Allows members of the 'sys' group to run networking, software,
测试
[root@localhost ~]# su - jack
Last login: Wed Nov 6 22:04:46 CST 2019 on pts/2
[jack@localhost ~]$ sudo mkdir /test1
放开个别命令使用权
[root@localhost ~]# visudo
91 ## Allow root to run any commands anywhere
92 root ALL=(ALL) ALL
93 jack ALL=(ALL) NOPASSWD:ALL
94 alice ALL=(ALL) NOPASSWD:/usr/bin/mkdir, /usr/bin/rm, /usr/bin/touch
95
96 ## Allows members of the 'sys' group to run networking, software,
测试:
[root@localhost ~]# su - alice
Last login: Fri Jul 24 00:52:13 CST 2020 on pts/1
[alice@localhost ~]$ touch /file
touch: cannot touch ‘/file’: Permission denied
[alice@localhost ~]$ sudo touch /file
扩展
Linux命令自动补全
下载依赖包:
[root@localhost ~]# yum -y install bash-completion
[root@localhost ~]# source /usr/share/bash-completion/bash_completion
[root@localhost ~]# yum install docker
[root@localhost ~]# source /usr/share/bash-completion/completions/docker