Linux系统规定了四种不同的用户:
- 主用户(owner)
- 组用户(group)
- 可以访问系统的其他用户(others)
-
超级用户(root),具有管理系统的权限
规定了三种访问文件或目录的方式:
读(r)
- 写(w)
- 可执行或查询(x)
当用 ls -l 显示文件或目录的详细信息时,最左边的一列即为文件的存取权限。
其含义如下:
顺便说一句,Linux下文件类型共分为七种:
- - 普通文件
- d 目录文件
- p 管道文件
- b 块设备文件
- c 字符设备文件
- l 软链接文件
-
s socket文件
其中,只有普通文件,目录文件,软链接文件是真正存储在磁盘上的。
介绍几条重要的命令:
1.chmod 命令
该命令是用来设置或改变文件或目录的存取权限的
它有两种用法:
- 符号模式:用字符串设置权限
一般格式: chmod key 文件名
key = 【操作对象】 【操作符号】 【用户权限】
可以多个key,但必须用逗号隔开。
示例:
chmod u+x file1
chmod o-w file2
chmod a=wr file3
chmod u+x,ug=w file4
- 绝对方式:使用八进制数来设置权限
一般格式: chmod mode 文件名
示例:
chmod 754 file1
chmod 644 file2
chmod 777 file3
介绍一下文件和目录的存取权限:
对普通文件来说:
- 读权限(r)只允许用户读取相应文件的内容,而无法对其进行更改操作,cat、more命令可使用。
- 写权限(w)允许指定用户打开并修改文件,如vi、cp、mv等。
- 执行权限(x)允许指定用户将该文件作为一个程序执行。
对目录文件来说:
- 读权限(r)可以列出该目录下的文件,ls可使用。
- 写权限(w)允许在该目录下添加或删除一个文件,如touch,rm,cp,mv等可使用。
- 执行权限(x)可通过 cd 切换至该目录下,允许在该目录下进行查找。
- 粘滞位(t) 当一个用户创建了一个目录,并对该目录设置了 777 的权限,即说明其他用户在该目录下进行增删改查等一系列操作,为了防止其他用户删掉该目录下的文件,可使用 chmod o+t dirname 命令,此时,其他用户可以在该目录下进行相关操作等,但是不能删除该目录下原本的文件,该位只有在其他用户具有 x 权限时才有效,否则为T,表示无效。
2.umask 命令
功能:用来设置限制新建文件权限的掩码
格式:
umask mode
当创建新文件时,其最初的权限由文件创建掩码决定,利用umask 命令可以指定哪些权限在新文件的默认权限中被删除。
例如:
umask u=, g=w, o=rwx
若执行了该命令,则在新创建的文件中主用户的权限都有,组用户的写权限被取消,其他用户的所有权限都被取消
也可用八进制数来设置mode
例如:
umask 0022
执行该命令后,新创建的权限即为 0755
可通过 umask -S 或 umask 命令来查看当前掩码
3.chown 命令
功能:用来改变文件或目录的所有者
创建该文件或目录的用户称为该文件或目录的文件主,文件主对文件有特别使用权。利用chmod命令可以更改更改一个文件的所有权,若改变了该文件的所有权,原文件主将不再拥有该文件的权限。
注意:只有文件主和root用户才有权利改变文件的所有关系。
一般格式:
chown 【选项】用户 文件名
常用选项:
- R, 递归的改变指定目录及其子目录,文件 的文件主
示例:
chown user1 file 将file文件的文件主改为user1
chown -R user2 dir 将dir目录及其所有的子目录和文件的文件主改为user2
4.chgrp 命令
功能:改变文件或目录所属的用户组
格式:
chgrp 【选项】 组名 文件名
与上述chown的用法类似。
示例:
chgrp group1 file 将file文件的用户组改为group1
chgrp -R group2 dir 将dir目录及其所有的子目录和文件的用户组改为group2