Linux 文件权限

来源:互联网 发布:文华财经期货 for mac 编辑:程序博客网 时间:2024/06/02 18:06
先看个实例:
[root@local opt]#ls -al
ls -al 命令是列出目录的所有文件,包括隐藏文件。隐藏文件的文件名第一个字符为'.'
-rw-r--r--  1 root root    81 08-02 14:54 gtkrc-1.2-gnome2
-rw-------  1 root root   189 08-02 14:54 ICEauthority
-rw-------  1 root root    35 08-05 10:02 .lesshst
drwx------  3 root root  4096 08-02 14:54 .metacity
drwxr-xr-x  3 root root  4096 08-02 14:54 nautilus

列表的列定义如下:
[权限属性信息] [连接数] [拥有者] [拥有者所属用户组] [大小] [最后修改时间] [文件名]

权限属性列表为10个字符:
第一个字符表示文件类型,d为目录 -为普通文件 l为连接 b为可存储的接口设备 c为键盘鼠标等输入设备
2、3、4个字符表示所有者权限,5、6、7个字符表示所有者同组用户权限,8、9、10为其他用户权限
第二个字符表示所有者读权限,如果有权限则为r,没有权限则为-
第三个字符表示所有者写权限,如果有权限则为w,没有权限则为-
第四个字符表示所有者执行权限,如果有权限则为x,没有权限则为-
第五个字符表示所有者同组用户读权限,如果有权限则为r,没有权限则为-
第六个字符表示所有者同组用户写权限,如果有权限则为w,没有权限则为-
第七个字符表示所有者同组用户执行权限,如果有权限则为x,没有权限则为-
第八个字符表示其他非同组读权限,如果有权限则为r,没有权限则为-
第九个字符表示其他非同组写权限,如果有权限则为w,没有权限则为-
第十个字符表示其他非同组执行权限,如果有权限则为x,没有权限则为-

修改文件所属组命令:
[root@local opt]#chgrp [-R] 组名 文件名
其中-R为递归设置

修改文件的所有者和组命令:
[root@local opt]#chown [-R] 用户[:用户组] 文件名

修改文件访问权限命令:

[root@local opt]#chmod [-R] 0777 文件名

Linux系统下如何修改文档及文件夹(含子文件夹)权限,我们来看一下。              

一 介绍: 
     可以使用命令chmod来为文件或目录赋予权限。Linux/Unix 的档案存取权限分为三级 : 

档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取 

二 详解 
1 此命令有两种使用方法,一种是chmod后加数字,后接文件名 

chmod abc file 
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 

r=4,w=2,x=1 
若要rwx属性则4+2+1=7; 

若要rw-属性则4+2=6; 

若要r-x属性则4+1=5。 
-------------------------例子----------------------------------- 

chmod a=rwx file  和 
chmod 777 file  效果相同 
chmod ug=rwx,o=x file  和 
chmod 771 file  效果相同 
若用chmod 4755 filename可使此程序具有root的权限  
----------------------------------------------------------------------------  
2 另一种是chmod后边加字母,后接文件名  
  综上所述,当想用chmod命令来改变权限时,文件的用户身份主要有如下几类:  
  u:拥有文件的用户(所有者);  
  g:所有者所在的组群; 
 
  o:其他人(不是所有者或所有者的组群);  
  a:每个人或全部(u、g、和o)。  
  用户所具有的文件访问权限类型如下:  
  r:读取权;  
  w:写入权;  
  x:执行权。 
 
  文件权限配置行为有如下几类:  
  +:添加权限;  
  -:删除权限;  
  =:使它成为惟一权限。  
------------------------------------------------------例子---------------------------------------------------  
使用chmod命令可以改变权限。下面这个例子显示了如何使用chmod命令来改变readme.txt文件的权限。 
 
假设下面是readme.txt文件的初始权限设置: 
 
-rw-rw-r-- 1 winda winda 39 8月 11 12:04 readme.txt  
如果是这个文件的所有者或者登录为根用户身份,则可以改变所有者、组群和其他人的权限。初始时,从上面的分析可以看出,这个readme.txt文件的所有者和组群可以读取和写入文件(rw-),组群之外的任何人只能读取文件(r--)。  
文件权限是一种安全措施。无论何时允许其他人读取、写入或执行文件,都在增加文件被篡改或删除的危险。作为一种基本原则,应该只给那些真正需要这些文件的人以读写权限。  
在下面的例子中,想给每个人以写入readme.txt文件的权限,因此他们可以读取文件,在其中加注,并保存文件。这意味着必须改变文件权限中的“其他人”部分。  
此时需要在shell或终端提示下输入:  
chmod o+w readme.txt 
 
o+w命令参数告诉系统想给其他人写入文件readme.txt的权限。要查看结果,再次列出文件的细节。此时,这个文件的用户访问权限就如下所示了(在第3列中多了一个w):  
-rw-rw-rw- 1 winda winda 39 3月 11 12:04 readme.txt  
现在,每个人都可以读取和写入这个文件了。 
 
要从readme.txt中删除组群和其他人的读写权限,使用chmod命令来取消读取和写入这两个的权限。  
命令如下: 

chmod go -rw readme.txt  
通过输入go-rw参数告诉系统删除文件readme.txt中组群和其他人的读取和写入权限。再次通过 ls -1命令列出的结果如下: 
 
-rw------- 1 winda winda 39 3月 11 12:04 readme.txt 
 
从文件readme.txt中删除所有权限(包括每个人的权限)的命令如下:  
chmod a -rwx readme.txt  
现在,来看看是否还能够使用cat readme.txt命令来读取这个文件,它所返回的输出应如下所示: 
 
cat: readme.txt: Permission denied 
 
删除所有的权限,包括自己的,会成功地锁住这个文件。但是由于这个文件属于用户,可以随时使用以下命令把它的权限改回来。命令如下:  
chmod u+rw readme.txt 
 
使用命令cat readme.txt来试试作为文件所有者是否还能够读取该文件。  
这里是几个可以用在chmod命令设置上的常用例子:  
g+w:为组群添加写入权;  
o-rwx:删除其他人的所有权限;  
u+x:允许文件所有者执行这个文件;  
a+rw:允许每个人读取并写入文件;  
ug+r:允许所有者和组群读取文件;  
g=rx:只允许组群读取和执行(不能写入)。  
最后,介绍一下恢复组群的权限的方法。命令如下:  
chmod ug+x tigger 
 
现在,如果用ls -dl命令检查一下,会发现只有其他人(others)被拒绝了到目录tigger的访问权。 


==================================   华丽的分隔线  =============================================== 

Ubuntu 更改文件夹及子文件夹权限 打开终端进入你需要修改的目录     然后执行下面这条命令 
    chmod    777    *      -R     全部子目录及文件权限改为 777 
查看linux文件的权限:ls -l 文件名称 
查看linux文件夹的权限:ls -ld 文件夹名称(所在目录) 

修改文件及文件夹权限: 
sudo chmod -(代表类型)×××(所有者)×××(组用户)×××(其他用户) 

常用修改权限的命令: 
sudo chmod 600 ××× (只有所有者有读和写的权限) 
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限) 

sudo chmod 700 ××× (只有所有者有读和写以及执行的权限) 

sudo chmod 666 ××× (每个人都有读和写的权限) 
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)