权限是Linux 中最为重要的部分,主要实现对计算机使用用户、使用组及运行进程访问资源的限制。权限一般分为三种,读、写和执行。
对目录是否有执行的权限意味着是否能否发现该目录并打开,对文件的有读的权限就有下载的权限。
当我们在执行ls –al命令的时候就可以发现每个文件对应的权限,所属用户与所属组还有就是创建的上期及大小还有文件名。
对文件权限进行修改命令:
chownusername filename 改变文件所属用户
-R参数递修改该目录下的所有文件属于用户
chgrp username filename 改变文件所属组
chmod模式 文件
模式为以下格式:
ugo分别代表用户、组及其他
a代表所有ugo
+-可以增加删除对应权限
rwx分别对应了二进制方式的权限数字,分别为4、2、1
如果是一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限. 而setuid, setgid 可以来改变这种设置.
setgid:该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组.
setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.
sticky bit: 该位可以理解为防删除位. 一个文件是否可以被某用户删除, 主要取决于
该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件
但同时不能删除文件, 则可以对文件使用sticky bit位. 设置该位后, 就算用户对目录
具有写权限, 也不能删除该文件.
下面说一下如何操作这些标志:
操作这些标志与操作文件权限的命令是一样的, 都是 chmod. 有两种方法来操作,
1) chmod u+s temp — 为temp文件加上setuid标志. (setuid 只对文件有效)
chmod g+s tempdir — 为tempdir目录加上setgid标志 (setgid 只对目录有效)
chmod o+t temp — 为temp文件加上sticky标志 (sticky只对文件有效)
引用博文:http://blog.chinaunix.net/uid-26642180-id-3378119.html