日期:2014-05-16  浏览次数:20571 次

linux下的权限问题

在linux中的权限,是linux中一个比较有趣的问题,你可以使用ll或者ls?-l就可以看到。一下是我电脑上的东东。?
#?ll?
total?69840?
-rw-r--r--???1?root???????sys?????????????19?Jan??1??1970?bootconf?
drwxr-xr-x???5?root???????sys???????????3072?Jan??8??1970?build?
drwxrwxrwx???5?root???????sys???????????1024?Jan??3??1970?dlkm?
drwxrwxrwx???5?root???????sys???????????1024?Jan??3??1970?dlkm.vmunix.prev?
-rw-r--r--???1?root???????sys???????????2244?Mar?17?02:22?ioconfig?
-r--r--r--???1?root???????sys?????????????82?Jan??1??1970?kernrel?
drwxr-xr-x???2?root???????sys???????????1024?Mar?17?02:27?krs?
drwxr-xr-x???2?root???????root??????????1024?Mar?17?02:22?krs_lkg?
drwxr-xr-x???2?root???????root??????????1024?Mar?17?02:27?krs_tmp?
drwxr-xr-x???2?root???????root?????????65536?Jan??1??1970?lost+found?
-rw-------???1?root???????root????????????12?Mar?17?02:22?rootconf?
-rw-r--r--???1?root???????sys???????????1145?Jan??3??1970?system?
drwxr-xr-x???2?root???????sys???????????1024?Jan??1??1970?system.d?
-rw-r--r--???1?root???????sys????????????992?Jan??3??1970?system.prev?
-rwxr-xr-x???1?root???????sys????????14319984?Jan??3??1970?vmunix?
-rwxr-xr-x???1?root???????sys????????21061664?Jan??3??1970?vmunix.prev?


1、umask值:它定义了用户新建文件以及文件夹的所具有的权限。?
这同windows里面的权限继承有点相似。?
umask的配置/etc/profile?
umask的值的算法:这可能是很多linux爱好者比较迷惑的地方。我在这里就贡献一个我的自己总结的一个算法,有不正确的请大家一起来探讨一下。?
umask的值+chmod文件的值=666?
umask的值+chmod文件夹的值=777?

比如你新建了一个文件,myfile,你的umask的值是022那么这个文件具有的权限是多少乃?是644。哈哈,请注意,凡是具有可执行权限的内容都要使用第二个公式。?

2、权限位和修改?
rwx??rwx??rwx?
所有者?所有者所在的组?其他用户?
如果用数字表示,r=4,w=2,x=1。r是读的意思,w是写的意思,x是执行。?

你可以使用命令来修改权限。一般情况下,这个命令只能有root来执行。请注意。?
chmod?[参数]?[模式]?<文件或者目录>;?/符号标记模式?

[参数]?-c?只有在文件的权限确认改变才进行详细说明?
-f?不输出权限不能改变的文件的错误?
-v?详细说明权限的变化?
-r?改变目录及其子目录的文件的权限(比较有用)?
[模式]?[ugoa]?[+-=]?[rwxXs]?
u:文件的所有者?
g:所有者所在的组?
o:其他的组?
a:其他的用户?

+:增加?
-:去掉?
=:指定文件的权限?

r:是读的意思?
w:是写的意思?
x:是执行?
X:只有目标文件对某些用户是可执行的火灾该目标文件是目录是才追加X属性。?
t:T位,拒绝删除的权限位?
s:设置SUID,SGID,指拥有这样的权限的可执行程序当某一用户执行的时候拥有属主或者属主所在的组的权限。?

当然,你也可以使用数字来表示权限,用数值请注意了?
XYZ,四个位?
x代表文件的类型,你只有通过mc才能看到。?
y代表SUID,SGID,T位,其中SUID=4,SGID=2,T位=1?
Z代表权限位r=4,w=2,x=1?

比如现在我要修改一个文件的权限,让它的权限为属主拥有所有权限,属主所在的组拥有读和写的权限,其他用户拥有读的权限,并防止其他用户删除我的文件。那么执行?
#chmod?1764?myfile?
用字符表示就是?
#chmod?u+rwx,g+rw,o+r,a+T?myfile?

3、修改属主和属主所在的组?
使用chown来修改?
比如你要将myfile的属主修改为nicry的,那么请使用?
#chown?nicry?myfile?
如果你要将文件的属主所在的组改为sohubbs组,请使用?
#chown?.sohubbs?myfile?
和在一块就是?
#chown?nicry.sohubbs?myfile?
注意,该命令为root专用。?

以上就是权限的一些问题,写的比较简陋:)希望大家喜欢~~~