0
点赞
收藏
分享

微信扫一扫

架构师之路-学渣到学霸历程-11

权限管理

我们可以通过一下几个命令,来了解Linux的用户权限; Linux的用户权限真的涉及得非常好,让我们了解一下用户权限的知识吧; let's go go go~!

chmod命令:

  • 作用:变更文件或者目录的权限
  • 语法: chmod u+-= rwx + 文件名
  • ugo说明
#所有者、所属组、其他人的说明:
u 用户user,文件或目录的所有者。
g 用户组group,文件或目录所属群组
o 其它用户others
a 所有用户all,系统默认使用此项
  • 加减等于的说明
#添加、减去、或者直接赋予的表示
+ 添加某些权限
- 取消某些权限
= 设置文件的权限为给定的权限
  • 可读可写可执行
#权限的表示
r 表示可读权限
w 表示可写权限
x 表示可执行权限
  • 特殊权限的说明
#三个特殊权限说明:
	#s权限的说明:
设置权限suid和sgid,使用权限组合“u+s”设定文件的用户的ID位,“g+s”设置组ID位
	#t权限的说明
t 只有目录或文件的所有者才可以删除目录下的文件
	#选项说明 -R
-R 递归处理,将指令目录下的所有文件及子目录一并处理
  • 案例说明-->设置可读可写权限
#设置其他人o+w 或者是o=rw权限
	+ 表示直接加上写权限。
	= 表示将其他用户权限设置为可读可写,如果以前还有可执行权限,现在也去掉。
	#查看一下文件的权限
[root@Linux0 test]# ll a.txt 
-rw-r--r-- 1 root root 16 9月  27 10:08 a.txt
	#然后直接授权文件
[root@Linux0 test]# chmod o=rw a.txt 
[root@Linux0 test]# ll a.txt 
-rw-r--rw- 1 root root 16 9月  27 10:08 a.txt
	#如果对于目录进行授权-->-R是递归授权
[root@Linux0 test]# ls -ld aa
drwxr-xr-x 2 root root 20 9月  27 10:09 aa
[root@Linux0 test]# chmod -R  o=rw  aa/
[root@Linux0 test]# ll -ld aa aa/*
drwxr-xrw- 2 root root 20 9月  27 10:09 aa
-rw-r--rw- 1 root root 18 9月  27 10:09 aa/aa.txt
  • 如果权限过大就会产生危险;
    • 将目录权限设置为其他用户可写,
    • 这时普通用户是可以进入到目录中任意删除,修改文件名(即使不是自己的文件),
    • 对文件的其他用户权限为不可写的文件也可以强制保存。
#优先修改aa目录的权限
[root@Linux0 test]# ll -ld aa 
drwxr-xrw- 2 root root 20 9月  27 10:09 aa
	#它是有w权限;那么使用liangjiawei用户可以进入直接修改root用户的文件
[liangjiawei@Linux0 ~]$ whoami 
liangjiawei
	##目前没有能够进入aa目录,因为test目录对他限制了
[liangjiawei@Linux0 ~]$ cd /test/aa/
-bash: cd: /test/aa/: 权限不够
	#查看test目录的权限
[liangjiawei@Linux0 ~]$ ll -d /test/
drwxr-xr-x 7 root root 98 9月  27 10:29 /test/
	#直接提权目录
[root@Linux0 test]# chmod o+w /test/
[root@Linux0 test]# ll -d /test/
drwxr-xrwx 7 root root 98 9月  27 10:29 /test/
	#这时候切换这个liangjiawei用户就能够修改aa目录的名字
[liangjiawei@Linux0 ~]$ cd /test/
	#可以直接修改
[liangjiawei@Linux0 test]$ echo aaa > a.txt 
[liangjiawei@Linux0 test]$ cat a.txt 
aaa

【o-w】将目录权限设置为其他用户不可写(目录默认权限755),这时普通用户就无法删除,修改文件名,但是如果文件本身有其他可写权限,还是可以写数据的。
  • 总结:
    • 父目录其他用户有可写权限,其下子文件不管有没有可写权限,均可强行写入,修改!
    • 父目录其他用户没有可写权限,其下子文件只有可写才有写入权限,但不具备删除,修改文件名权限。
  • 设置特殊权限,设置-t权限
    • 是对目录设置特殊权限,用户只能删除自己的文件
#创建一个目录
	#把test目录的权限变成777
[root@Linux0 test]# chmod 777 /test/
	#然后再创建一个data目录
[root@Linux0 test]# mkdir data
[root@Linux0 test]# ll -ld data/
drwxr-xr-x 2 root root 6 9月  27 14:51 data/
	#然后设置一个t权限
[root@Linux0 test]# chmod o+t data/
[root@Linux0 test]# ll -d data/
drwxr-xr-t 2 root root 6 9月  27 14:51 data/
	#把data目录提权到777
[root@Linux0 test]# chmod 777 data/
[root@Linux0 test]# cd data/
[root@Linux0 test]# chmod o+t data/
[root@Linux0 test]# ll -d data/
drwxrwxrwt 2 root root 6 9月  27 14:59 data/
[root@Linux0 test]# ll root.txt 
-rw-r--r-- 1 root root 0 9月  27 15:01 root.txt
	#然后-->登录普通用户liangjiawei
#没法删除其他人的文件,只能删除自己的文件
[liangjiawei@Linux0 data]$ rm -rf root.txt 
rm: 无法删除"root.txt": 不允许的操作
	#同样的,liangjiawei的文件,也没法删除

分享环节: hi,亲爱的朋友们:

  • 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
  • 资源免费共享;有需要滴滴,(仅仅是我有的)

我的坚持初衷:💕立志要成为一名架构师

  • 不断地去坚持学,其中的各种各样的难度,不言而喻~!
  • 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!

如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!

举报

相关推荐

0 条评论