Linux——文件权限

1.文件权限

文件权限用来控制对文件的访问。文件具有三个应用权限的用户类别:所属用户、所属组、其他用户;最具体的权限具有优先权,用户权限覆盖组权限,组权限覆盖其他权限。

权限 对文件的影响 对目录的影响
r(读取) 可以读取文件内容 可以列出目录内容
w(写入) 可以更改文件内容 可以创建和删除目录中的任意文件
x(执行) 可以作为命令执行文件 可以切换目录成为当前目录

注:用户通常对只读目录具有读取和执行权限,对目录的内容具有完整的访问权限。

2.查看目录和文件的权限

(1)ls命令 -l 选项可以显示文件的有关权限和所有权的详细信息

          -ld 选项可以显示目录的有关权限和所有权的详细信息

(2)长列表的第一个字符表示文件类型

- 常规文件
d 目录
l 软链接
b和c 硬件设备
p和s 特殊文件

(3)接下来就个字符表示文件权限。每三个一组,第一组表示所属用户权限;第二组表示所属组权限;第三组表示是其他用户权限。组中显示rwx表示该类别具有读写执行权限,其中一个被“-”代替表示该类别没有此权限。

(4)如果用户与组具有不同的权限,而用户也是该组的成员,那么用户权限就是最终应用的权限。

3.更改文件目录权限

chmod命令用来更改文件和目录的权限,通常有两种方法:符号法和数值法。

(1)符号法:Who:u、g、o、a       What:+、-、=      Which: r、w、x

使用chmod符号法可以更改一个或多个权限,使用+、-、=来添加和删除用户、组、其他用户权限。当文件是目录或者文件的所属用户、所属组、其他用户其中之一含有执行权限时,可以使用X作为权限标志来添加权限。

(2)数值法:4(读取)   2(写入)  1(执行)。任意相加表示0-7中的任意值,每个值代表一个访问级别依次是:用户、组、其他。

4.更改文件和目录的用户或组所有权

chown命令可以更改文件和目录的用户或组所有权,-R选项可以以递归方式更改整个目录树是所有权。

更改用户所有权 chown user file
更改组所有权 chown :group file

chgrp命令用来更改组所有权。与chown不同的是,此命令不用在组名前加冒号(:)。

5.特殊权限

特殊权限构成了除基本用户、组和其他类型之外的第四种权限。用chmod命令来设置,也分为符号法和数值法。

(1)符号法

特殊权限 对文件的影响 对目录的影响
u+s(suid) 以拥有文件的身份执行文件
g+s(sgid) 以拥有文件的组身份执行文件 在目录中创建的新文件的组所有者与目录组所有者保持一致
o+t(sticky) 对目录具有写入访问权限的用户可以删除自己的文件,不能删除其他用户的文件

注:用s辨别setuid和setgid权限,表示此处之前具有执行权限;S表示此处之前不具有执行权限。

       用t辨别sticky权限,表示此处之前具有执行权限;T表示此处之前不具有执行权限。

(2)数值法: setuid=4   setgid=2   sticky=1

6.默认文件权限

创建的新目录,操作系统默认分配八进制权限0777(drwxrwxrwx);创建的新文件,操作系统默认分配八进制权限0666(-rw-rw-rw-)。

7.umask值

umask值可以清除新创建文件的权限,不带参数运行umask命令将显示当前shell的umask当前值。系统上的每一个进程都有一个umask。umask值默认在/etc/profile和/etc/bashrc文件中定义。

你可能感兴趣的:(Linux,linux)