前言:Linux是一个多用户、多任务的操作系统,为了确保各个用户的文件安全,Linux系统具有严格的文件权限管理机制,下面则通过具体情况进行简单讲解,以方便大家了解Linux的文件和Windows的文件的不同之处。在目录下通过 # ls -a 以列表的形式查看文件分析,如下:
-rw-r--r-- 1 root root 14 3月 23 20:58 yun-file
drwxr-xr-x 2 root root 4096 3月 23 20:59book-dir
一、第一栏代表这个文件的类型与权限内容如下:
[ -rw-r--r-- ]
或
[ drwxr-xr-x ]
1、第一个字符代表当前是 文件还是目录、或链接文件等
当为[ d ]则是目录
当为[ - ]则是文件
当为[ l ]则表示为链接
2、接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
也可以使用数字来代表各个权限,各权限的分数对照表如下:读r=4、写w=2、执行x=1
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
第一组为『文件拥有者的权限』;
第二组为『同组的权限』;
第三组为『其他非本组的权限』。
3、分析[ -rw-r--r-- ]
[ - ] 表示文件。
[ rw- ] 表示可读、可写、不可执行
[ r-- ] 表示可读、不可写、不可执行
[ r-- ] 表示可读、不可写、不可执行
4、分析[ drwxr-xr-x ]
[ d ]表示目录。
[ rw- ] 表示可读、可写、不可执行
[ r-- ] 表示可读、不可写、不可执行
[ r-- ] 表示可读、不可写、不可执行
二、第二栏表示有多少档名连结到此节点
三、第三栏表示这个文件(或目录)的『拥有者』
四、第四栏表示这个文件的所属群组
五、第五栏为这个文件的容量大小,默认单位为bytes
六、第六栏为这个文件的创建日期或者是最近的修改日期
七、第七栏为这个文件的文档名或目录名
当前字段名就是文档名了,比较特殊的是:如果文档名之前多一个『 . 』,则代表这个文件为『隐藏档』,你可以使用『ls -a』显示隐藏文档
八、改变文件属性与权限chgrp :改变文件所属群组
chown :改变文件拥有者
chmod :改变文件的权限
1、改变文件所属群组
以root的身份执行以下指令:
# chgrp group1 group2
2、改变文件拥有者
以root的身份执行以下指令:
# chown 用户 文件
# chown -R 用户 目录
选项参数:
-R : 进行递归(recursive)的持续变更,也就是连同子目录下的所有文件都进行变更操作。
3、改变文件的权限
以root的身份执行以下指令:
# chmod 权限 file 文件
# chmod -R 权限 dir 目录
选项参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,也就是连同子目录下的所有文件都进行变更操作。
使用数字来改变权限:
// 修改1
owner = rwx = 4+2+1 = 7
group = r-- = 4+0+0 = 4
others= --- = 0+0+0 = 0
# chmod 740 file
// 修改2
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
# chmod 770 file
// 修改3
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= r-x = 4+0+1 = 5
# chmod 775 file
// 修改4
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= rW- = 4+2+0 = 6
# chmod 776 file