在 Linux 系统中,每个文件都有归属的所有者和所属组,并且规定了文件的所有者、所用户身份与文件权限 164 属组以及其他人对文件所拥有的可读(r)、可写(w)、可执行(x)等权限。对于一般文件来 说,权限比较容易理解:“可读”表示能够读取文件的实际内容;“可写”表示能够编辑、新 增、修改、删除文件的实际内容;“可执行”则表示能够运行一个脚本程序。但是,对于目录文件来说,理解其权限设置就不那么容易了。很多资深 Linux 用户其实也没有真正搞明白。 对于目录文件来说,“可读”表示能够读取目录内的文件列表;“可写”表示能够在目录内新 增、删除、重命名文件;而“可执行”则表示能够进入该目录。

  下表即是可读、可写、可执行权限对应的命令在文件和目录上的区别:


文件

目录

可读(r)

cat

ls

可写(w)

vim

touch

可执行(x)

./script

cd

  下表即是文件权限的字符与数字表示:


权限项

可读

可写

可执行

可读

可写

可执行

可读

可写

可执行

字符表示

r

w

x

r

w

x

r

w

x

数字表示

4

2

1

4

2

1

4

2

1

权限分配

文件所有者

文件所属组

其他用户

比如,有一个权限是rwxr-xr--,转换成数字是421401400,简写为754,于是我们可用数字修改文件的权限,如下:

[root@establish ~]# ls -l anaconda-ks.cfg  

-rw-------. 1 root root 1385 Oct 10 03:50 anaconda-ks.cfg

[root@establish ~]# chmod 754 anaconda-ks.cfg  

[root@establish ~]# ls -l anaconda-ks.cfg  

-rwxr-xr--. 1 root root 1385 Oct 10 03:50 anaconda-ks.cfg

[root@establish ~]# 

用数字修改文件的权限比用字符形式更简洁更快。

chown命令用于设置文件的所有者和所有组,语法格式为“chown 所有者:所有组 文件名”,如:

[root@establish ~]# chown linuxprobe:linuxprobe anaconda-ks.cfg  

[root@establish ~]# ls -l anaconda-ks.cfg  

-rwxr-xr--. 1 linuxprobe linuxprobe 1385 Oct 10 03:50 anaconda-ks.cfg

[root@establish ~]#  

于是anaconda-ks.cfg文件的所有者和所有组就由root改为了linuxprobe。

有关chmod与chown命令的详细用法,可参考:www.linuxcool.com

以上只是文件的一般权限,另外还有文件的特殊权限、隐藏权限、facl等,后面再介绍吧。

Linux中文件权限与归属_linuxLinux中文件权限与归属_文件权限_02