Linux是多人多任务的操作系统,因此可能常常会有多人使用一台机器, 为了考虑每个人的隐私、方便用户合作,每个文件都有三类用户,权限是基于这三类用户设定的:
1) 文件拥有者(user)
2) 组用户(group) (一般创建文件是自己成了一个组)
3) 其它(others)
万能用户:root用户,不受任何权限限制。(读写都没有权限)
在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁 能访问和如何访问这些文件和目录。通过设定权限可以从以下3种访问方式限制 访问权限。
根据赋予权限的不同,3种不同的用户(所有者、用户组或其他用户)能够 访问不同的目录或者文件。所有者是创建文件的用户,文件的所有者能够授予 所在用户组的其他成员以及系统中除所属组之外的其他用户的文件访问权限。 每一个用户针对系统中的所有文件都有它自身的读、写和执行权限
文件属性详解
“ls -l” 命令显示文件的详细信息,其中包括权限。如下所示:
1.第1组为文件类型权限 每一行的第一个字符一般用来区分文件的类型,一般取值为d、-、l、b、 c、s、p。具体含义如下。 d:表示是一个目录,在ext文件系统中目录也是一种特殊的文件。 -:表示该文件是一个普通的文件。
每一行的第2~10个字符表示文件的访问权限。 这9个字符每3个为一组,左边3个字符表示所有者权限,中间3个字符表示与 所有者同一组的用户的权限,右边3个字符是其他用户的权限。代表的意义如 下。 字符2、3、4表示该文件所有者的权限,也简称为u(User)的权限。 字符5、6、7表示该文件所有者所属组的组成员的权限,简称为g(group)的 权限。 字符8、9、10表示该文件所有者所属组群以外的权限,简称为o(Other)的 权限。
r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。 w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。(改datablock内容,列表)
x(execute,执行):对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。cd
-:表示不具有该项权限。
用户分为三类—每类用户有三种权限。要看自己的身份属于对于文件属于 哪类用户,再看自己具有的权限。
方法:文件是谁的 ?我对于这个文件来说是哪类用户?然后决定查看第 几个字段,确定自己的权限
权限不足:用root 万能(不推荐), 命令前加sudo(需配置)。*修改 文件的权限。
权限修改
通常在权限修改时可以用两种方式来表示权限类型:数字表示法和文字表示法。 chmod命令的格式是: chmod 选项 文件
(1)以数字表示法修改权限 所谓数字表示法是指将读取(r)、写入(w)和执行(x)分别以数字4、2、1来 表示,没有授予的部分就表示为0,然后再把所授予的权限相加而成。
例:若一个文件的权限为654,说明他的权限。
(2)文字表示法 使用权限的文字表示法时,系统用4种字母来表示不同的用户。 u:user,表示所有者。
g:group,表示属组。
o:others表示其他用户。
a:all,表示以上3种用户。
使用下面3种字符的组合表示法设置操作权限。
r:read,可读。 w:write,写入。 x:execute,执行。 操作符号包括以下几种。 +:添加某种权限。 -:减去某种权限。 =:赋予给定权限并取消原来的权限。 对于上例:chmod u=rw,g=rw,o=r abc
文件所有者与属组修改
要修改文件的所有者可以使用chown命令。chown命令格式如下所示: chown 选项 用户和属组 文件列表
*仅root用户可使用
例:把/yy/file文件的所有者修改为test用户,命令如下: chown test /yy/file
文件所有者与属组修改 chown命令可以同时修改文件的所有者和属组,用“ : ”分隔。
如果只修改文件的属组可以使用下列命令:
文件默认权限修改
umask 命令用于指定用户在建立文件和目录时的权限默认值,umask值称作权限掩码。
查看默认权限命令: umask
设置默认权限命令: umask 数字权限
文件、目录默认权限修改方法:
1.文件的预设权限为-rw-rw-rw-,目录的预设权限为-rwxrwxrwx
2.普通用户umask默认值为002,root用户为022
3.创建文件时在预设权限中减掉umask值对应的权限。
例:umask为002的普通用户创建文件,user、group都没有变化,但others用户要减掉2对 应的‘写权限’ ,变为-rw-rw-r-- 练习:修改umask为003,普通用户创建文件的权限是什么。664(本来就没有执行权限)