Linux文件权限
Linux最优秀的地方之一就在于他的多人多工环境。而为了让各个使用者具有较保密的档案资料,因此档案的权限管理就变的很重要了。
Linux一般将文件可存取的身份分为三类:
owner属主 group属组 other其他
而且三种身份都有各自的读写权限
read读取 write写入 execute可执行
用户在访问一个目录或文件时,由设置的访问权限+归属关系共同决定最终权限
查看文件/目录权限:ls -l ls -ld ll 命令
转自http://linux.vbird.org/linux_basic/0210filepermission.php
第一个字段表示文件类型:
- 如果为 d 代表目录;
- 如果为 – 表示文件;
- 如果为 l 表示连接文件(快捷方式);
权限:
- r 读取:允许查看内容——read;
- w 写入:允许修改内容——write;
- x 可执行:允许运行和切换——excute;
需要注意的是,这三个权限的位置不会改变,如果没有权限就会出现 “-”;
归属关系:
- u 所有者:拥有此文件/目录的用户——user
- g 所属组:拥有此文件/目录的组——group
- o 其他用户:除所有者、归属组以外的用户——other
- a 所有用户:以上三类归属合成——all
Linux文件权限的重要性:
- 资料安全性;
- 系统保护的功能;
- 未将权限设置妥当的危害;
如何改变文件权限和归属?
chgrp:改变文件所属组
chown:改变文件拥有者
chmod:改变文件的权限
改变所属组,chgrp
change group 的缩写,需要注意的是,要改变的组名称必须要放在/etc/group文件中才可以,否则会显示错误;
-R递归改变,次目录下的所有文件、目录都会改变,如果重新创建文件/目录那么权限还是当前用户的;
1 [root@lianxi data]# ll 2 总用量 0 3 -rw-r--r--. 1 root root 0 3月 25 10:59 test.txt
chgrp
1 [root@lianxi data]# chgrp test test.txt 2 [root@lianxi data]# ll 3 总用量 0 4 -rw-r--r--. 1 root test 0 3月 25 10:59 test.txt
改变文件拥有者,chown
change owner的缩写,要改变的拥有者必须已经存在系统中的账号,也就是/etc/passwd这个文件中有记录的使用者名称才可以改变;
chown的用途还挺多,也可以直接改变所属组,同时也可两个同时改变,-R递归改变次目录下的目录和文件;
1 ot@lianxi data]# ll 2 总用量 0 3 -rw-r--r--. 1 root root 0 3月 25 10:59 test.txt 4 [root@lianxi data]# chown lisi test.txt #改变所有者 5 [root@lianxi data]# ll 6 总用量 0 7 -rw-r--r--. 1 lisi root 0 3月 25 10:59 test.txt
改变所属组;改变所属组的时候必须加上“:”才可改变所属组,不然就变成改变所有者了
1 [root@lianxi data]# ll 2 总用量 0 3 -rw-r--r--. 1 root root 0 3月 25 10:59 test.txt 4 [root@lianxi data]# chown :lisi test.txt #改变所属组 5 [root@lianxi data]# ll 6 总用量 0 7 -rw-r--r--. 1 root lisi 0 3月 25 10:59 test.txt
所有者、所属组同时改变
1 oot@lianxi data]# ls -l 2 总用量 0 3 -rw-r--r--. 1 root root 0 3月 25 10:59 test.txt 4 [root@lianxi data]# chown lisi:lisi test.txt 5 [root@lianxi data]# ls -l 6 总用量 0 7 -rw-r--r--. 1 lisi lisi 0 3月 25 10:59 test.txt
改变权限,chmod
文件权限的改变使用的是chmod命令,但是权限的设定方法有两种,分别可以使用数字或者符号进行权限的变更;
Linux文件的基本权限就有9个,分别是owner/group/others三种身份各自拥有自己的rwx权限,文件的权限字段-rwxrwxrwx,这9个权限是3个一组,有3组;
rwx用数字来表示各自的权限:
r:4
w:2
x:1
-:0
每种身份各自的三个权限累加:例如,当权限位-rwxrwx—
owner=rwx=4+2+1=7
group=rwx=4+2+1=7
others=—=0+0+0=0
chmod改变权限
1 [root@lianxi data]# ls -l 2 总用量 0 3 -rw-r--r--. 1 lisi lisi 0 3月 25 10:59 test.txt 4 [root@lianxi data]# chmod 777 test.txt #设置权限为所有人都可以任意访问 5 [root@lianxi data]# ll 6 总用量 0 7 -rwxrwxrwx. 1 lisi lisi 0 3月 25 10:59 test.txt
当我们创建一个文件/目录为什么都会默认设置好了?原因与一个配置文件有关umask值
目录和文件的默认权限与umask的值有关
默认权限:目录 755
文件 644
umask -S 查看默认权限值