一、文件权限介绍
[root@localhost.localdomain /etc]# ls -l
total 1172
-rw-r--r--. 1 root root 16 Sep 16 03:09 adjtime
-rw-r--r--. 1 root root 1518 Jun 7 2013 aliases
-rw-r--r--. 1 root root 12288 Sep 16 03:10 aliases.db
drwxr-xr-x. 2 root root 261 Sep 21 22:32 alternatives
例子如:4505460 drwxr-xr-x 4 root root 4096 Oct 23 08:47 acpi
rwxr-xr-x 就是权限位
每个文件或者目录都有一组共9个权限位,每三位为一组,它们分别为:属主(ower)、用户组(Group)、其它用户(Other)
r读 w 写 x执行 -无任何权限
U(user) G(group) O(other)
rwx r-x r-
属主权限 属组权限 其它用户权限
如图所示:
对于一个普通文件权限说明:
r 表示具有读取阅读内容的权限
w 表示具有新增、修改内容的权限 (注意:删除和移动文件和文件本身司性无关)
x 表示具有执行文件的权限(普通用户同时还需要r的权限,root用户不用r的权限也能执行,当然文件本身也需要能够执行)
特别提示:删除文件(修改文件名,移动等)的权限是受父目录的权限控制,和文件本身权限无关
Linux下可执行的文件:*.
对于一个目录文件权限说明:
r 表示浏览目录的权限 (注意:与进入目录的权限不同)
w 表示具有删除、移动目录内文件的权限
x 表示进入目录的权限
普通文件的读、写、执行权限举例:
ls –l [目录] 当ls –l不加目录时显示当前目录下所有文件的属性,
ls –ld mm 当mm是一个目录时,加-d查看mm这个目录的属性
ls –l aa 当aa是一个文件时,查看aa这个文件的属性
二、修改文件权限
改变权限属性命令chmod
只有文件的属主和超级用户root才能使用这个命令。有两种设置权限的方法:一种是通过权限字母和操作符表达式的方法来设置权限,另一种是使用数字方法来设置权限。
(1) 使用数字方法来设置权限:
用数字表示权限rwx-
r=4 w=2 x=1 -=0
如:用chmod 754 iterfile 可以把iterfile文件更改为754对应的权限
u g o
7=4+1+2 5=4+1 4
rwx r-x r--
[root@localhost.localdomain /tmp]# chmod 721 aa.txt [root@localhost.localdomain /tmp]# ls -l aa.txt -rwx-w---x. 1 root root 0 Sep 24 16:04 aa.txt
(2)通过权限字母和操作符表达式修改权限:
chmod u-x,g+w,o+x iterfile 分别修改iterfile文件中ugo各项权限
用chomd命令分别修改UGO的权限,分别用+ -来修改,多个组来修改可以用,(逗号)隔开。
[root@localhost.localdomain /tmp]# ls -l aa.txt -rwx-w---x. 1 root root 0 Sep 24 16:04 aa.txt [root@localhost.localdomain /tmp]# chmod u-r,g+x,o+r aa.txt [root@localhost.localdomain /tmp]# ls -la aa.txt --wx-wxr-x. 1 root root 0 Sep 24 16:04 aa.txt
目录的权限修改:
xx是一个目录,aa是xx目录下的一个文件,当我们用chmod命令来修改一个目录的权限的时候,只修改这个目录自身的权限,而不能更改这个目录里面任何内容的权限
chmod 700 -R /test/
chmod –R 递归修改/test/目录下所有文件的权限,包括/test/自身目录的权限
默认创建文件的权限:
[root@localhost.localdomain /tmp]# touch bb.txt [root@localhost.localdomain /tmp]# ll bb.txt -rw-r--r--. 1 root root 0 Sep 24 16:11 bb.txt
权限644
默认创建目录的权限
[root@localhost.localdomain /tmp]# ls -ld file drwxr-xr-x. 2 root root 6 Sep 24 16:12 file
权限755
总结:
删除或移动一个文件,与该文件的上层目录权限有关,与该文件本身的属性无关,即使是777也不可以删除或移动,
对于目录,可写w 表示具有修改、移动或删除目录内文件的权限,但是必须同时有x权限才可以。
umask没必要修改,默认就可以,umask值了解就好
三、修改文件和目录属主和属组
改变文件属组
chown bobo pfile 更改用户
chown .或者: maya pfile 更改所属组
chown bobo:mamy pfile 更改所属主和所属组
chown –R bobo:maya pdir 更改目录及里面的所属主和组
chown bobo:maya pdir 更改目录的所属主和组
chgrp也是用来改用户所属组的如chgrp maya pfile ==chown :maya pfile
[root@dingjian tmp]# ls -l total 0 -rwxr-xr-x 1 bobo bobo 0 Nov 11 23:41 pfile [root@dingjian tmp]# userdel bobo [root@dingjian tmp]# ls -l total 0 -rwxr-xr-x 1 500 502 0 Nov 11 23:41 pfile
在上面的例子来看,当所属组和所属主是数字时,可能是用户和所属组被删掉了,
当权中有个i表明己被锁的权限任何人都不能对此文件进行修改
[root@dingjian tmp]# chattr +i /etc/passwd [root@dingjian tmp]# lsattr /etc/passwd ----i-------- /etc/passwd [root@dingjian tmp]# useradd kkkk useradd: unable to open password file
chattr +i 加锁
chattr –i 解锁
+a加锁后,此文件只能增加内容,不能减少里面的内容和删除文件
chattr +a
chattr –a 解锁