Linux文件权限


自我塑造的过程很疼,但终将遇见更好的自己

基本权限

权限对象:					基本权限类型:
属主------->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 	# 递归修改---针对目录

修改权限
符号语法:

对象赋值符权限类型文件
chmodu+r
chmodg-w
chmodo=x
chmoda
[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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值