1.6 suid/guid
Suid意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行此脚本的时候也会具有其属主的相应权限。同样的原则也适用与guid,执行相应脚本的用户将具有该文件所属用户组中用户的权限。
1.6.1如何设置suid/guid
进入/bin或/sbin目录,执行:
$ ls –l | grep ‘^…s’
上面的命令是用来查找suid文件的
$ ls –l | grep ‘^…s…s’
上面的命令是用来查找suid和guid文件的
设置suid,应将相应的权限位之前的那一位设置为4;如果希望设置guid,那么就将相应的权限位之前的那一位设置为2;两位都设置,为4+2。
一旦设置了这一位,一个s将出现在x的位置上。要设置suid/guid,必须开放执行权限。
还可以使用符号方式来设置suid/guid。
注意:chmod命令不进行必要的完整性检查,可以给某一个没用的文件赋予任何权限,但不会对所设置的权限组合做什么检查。
1.7 chown和chgrp
用来改变文件的属主,但只有该文件的属主和系统管理员才能操作,格式位:
Chown –R –h owner file
-R意味着对所有字目录下的文件也都进行相同的操作
-h意味着在改变符号链接文件属主时不改变该链接所指向的目标文件
1.7.1 chown举例
$ chown lp project
将文件project的所有权由原文件属主交给了用户lp
1.7.2 chgrp
Chgrp的格式和chown的格式差不多,chgrp改变文件所属的组
1.7.3找出你属于的用户组
$ group 或 $ id
1.7.4找出其他用户所属的组
$ group username
1.8 umask
Umask确定你创建文件时的缺省模式。Umask命令是在/etc/profile里设置的,希望修改umask的值,就把它放在自己$HOME目录下的.profile或.bash_profile文件中。
1.8.1如何计算umask值
Umask和chmod命令一样,用绝对模式设定值,不过注意,系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod增加这一权限。目录则允许设定执行权限。
1.8.2 常用的umask值
Umask值 目录 文件
022 755 644
027 750 640
002 775 664
006 771 660
007 770 660
查询当前umask的值
$ umask
修改当前umask的值
$ umask value
1.9 符号链接
存在两种不同类型的链接,软链接和硬链接。只讨论软链接,即为一个指向文件的指针
1.9.1使用软链接来保存文件的映像
Ln [-s] source_path target_path
其中路径可以是目录,也可以是文件