Linux_shell_文件安全与权限(02)

本文详细解释了Linux系统中目录和文件的权限设置方法,包括读、写、执行权限的作用,特殊权限suid和guid的应用及如何使用chown和chgrp命令变更文件的所有者和所属组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.5

目录的权限与文件的权限有着很大的不同

目录权限:

              r                                                w                                                   x

可以列出该目录中的的文件                可以在该目录中创建和删除文件           可以搜索或进入该目录

如果把同组用户或其他用户针对某一目录的权限设置成 --x   那么他们将无法列出该目录中的文件,但是如果该目录中存在一个可执行的脚本或程序,只要用户知道其路径和文件名,仍然可以执行他,也就是说 用户不具有查看权限但并不妨碍他的执行。

 

目录的权限还有一个注意的地方,那就是目录的权限将会覆盖该目录中文件的权限,例如:

以下为test 目录的权限

drwxr--r-- 2 root root     4096 05-22 11:58 test                

而而其中myfile文件的权限为

-rwxrw-rw- 1 root root 0 05-22 00:17 file

那么root组的用户将无法编辑该文件,因为它所在的目录不具有这样的权限

 

 

1.6  suid/guid

suid意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权限,所以,如果跟用户(root)的某一脚本设置了这样的权限,那么其他的普通用户在执行它的期间也具有根(root)用户的权限。

同样的原则也是由于guid。

 

设置suid :

在权限为之前的一位设置成为4

设置guid

在权限为之前的一位设置成为2

两者都置位:

在权限为之前的一位设置成为4+2

 

如果一旦设置了这以为 那么一个s将出现自x的位置上(在设置suid或guid的同时,相应的权限位必须被设置) 例如,如果希望设置guid 那么必须让该用户组具有执行权限

例如:下面的hello文件需要设置suid 当前权限为(764)       -rwxrw-r-- 1 root root 0 05-22 18:58 hello

那么在使用chmod命令是在该权限数字前加一个4 即#chmod 4764 hello

这样该文件的权限变为:-rwsrw-r-- 1 root root 0 05-22 18:58 hello          即属主权限x位变为s

 

把word文件设置guid 当前文件权限为(774) -rwxrwxr-- 1 root root 0 05-22 19:01 word

那么在使用chmod命令是在该权限数字前加一个2 即#chmod 2774 word

这样该文件的权限变为 :-rwxrwsr-- 1 root root 0 05-22 19:01 word        即同组用户权限x位变为s

 

可以使用符号来设置suid/guid

例如上面hello文件权限 rwxrw-r-- 1 root root 0 05-22 18:58 hello

那么下面命令可以设置其suid

#chmod u+s hello

 

如果你会看到这样的权限文件-rwSrw-r-- 1 root root 0 05-22 18:58 hello 其中S为大写

它表示相应的执行权限位未被设置 这是一种没有什么用处的suid设置 可以忽略它的存在

 

 

1.7  chown 和 chgrp

当你创建一个文件时,你就是该文件的属主。一旦你拥有某个文件,就可以改变它的所有权,把它的所有权交给另外一个etc/passwd文件中存在的合法用户,在改变一个问津的所有权时,相应的suid也将被清除。只是处于安全性的考虑。只要文件属主和系统管理员可以改变文件的所有权。一旦将文件的所有权交给另外一个用户 ,就无法再重新收回它的所有权 ,只有求助于系统管理员。

 

chown举例:(# chown box hello)

# ls -l
总计 8
-rwsrw-r-- 1 root root 0 05-22 18:58 hello


# chown box hello


#ls -l
总计 8
-rwxrw-r-- 1 box  root 0 05-22 18:58 hello
文件hello的所有权现在由root用户交给了box用户

chgrp举例:
-rwxrw-r-- 1 box  root 0 05-22 18:58 hello

#chgrp admin hello

#ls -l

-rwxrw-r-- 1 box  admin 0 05-22 18:58 hello

用户box现在把hello文件所属的组由root变为admin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值