在Linux系统中每个文件和目录都有一些特定的访问许可权限,通过该权限可以确定用户能以何种方式对文件和目录进行访问和操作。
文件或目录的访问权限通常分为三种:只读、只写、可执行。当文件被创建时,文件所有者会自动拥有对该文件的读、写和可执行权限,以便对文件进行查看和修改。当然,也可以用户需要对权限进行组合使用,如读和写权限或读、写和可执行权限等。
有三种不同类型的用户可对文件或目录进行访问:文件所有者、同组用户、其他用户。其中文件所有者一般都是文件的创建者,它可以允许同组用户访问文件,也可以将访问权限赋予给其他用户,从而使系统中每一位用户都能访问文件所有者拥有的文件或目录。
每一个文件或目录的访问权限分为三组,每组用三位表示,分别为文件属主的读、写和可执行权限;与属主同组的用户读、写和可执行权限;其他用户的读、写和可执行权限。以下示例将显示一个文件和目录的详细信息:
aTest.log是一个文件,详细信息的第一个字符为是-,而TestDir是一个目录,详细信息的第一个字符是d。权限字段 r:代表只读,w:代表可写,x:代表可执行。
文件和目录都有三组权限,以aTest.log为例,详细如下所示:
组号 | 权限 | 含义 |
---|---|---|
1 | rw | 属主用户权限 |
2 | rw | 与文件属主同组的用户权限 |
3 | r | 其他用户权限 |
文件和目录权限管理的两个主要命令为:
- chmod:更改文件或目录权限
- chown:更改文件或目录的属主或用户组
chmod-更改文件或目录权限
chmod命令用于更改文件或目录的访问权限,有两种用法:
文字设定法
文字设定法即包含字母和操作符表达式的,其语法格式如下所示:
chmod [用户类型] [权限设定] [权限类型] [文件名]
用户类型 | 权限设定 | 权限类型 |
---|---|---|
u:user,即文件或目录的所有者 | + 添加权限 | r 可读 |
g:group,即与文件属主同组的用户 | - 删除权限 | w 可写 |
o:others,其他用户 | = 赋予给定权限并取消其他所有权限 | x 可执行 |
a:all,所有用户,系统默认值 |
数字设定法
数字设定法即包含数字的表达式
chomd [权限类型] [文件名]
其中数字设定法中数据所代表的详细权限如下所示:
数字 | 字符对应关系 | 权限类型 |
---|---|---|
0 | 无权限 | |
1 | x | 可执行权限 |
2 | w | 可写权限 |
4 | r | 可读权限 |
如果需要组合权限,则将相应的权限所对就的数字相加即可,因此数字设定法中的权限格式应该是3个0~7的八进制的数字,分别对应u,g,o。
一个用户需要对文件有可读、可写、可执行权限,对应的数字是4+2+1=7
一个用户需要对文件有可读、可写权限,对应的数字是4+2=6
一个用户需要对文件有可读、可执行权限,对应的数字是4+1=5
文字设定法和数字设定法都是等效的,可根据自身喜好,灵活选择。
chmod示例
-
1、文字设定法
chmod不同参数之间需要用,隔开
-
2、数字设定法
chown-更改文件或目录属主或用户组
一般来说,chown命令只由系统管理员(root)使用,而一般用户是没有权限去修改别人的文件或目录的属主,也没有权限将自己的文件属主修改为其他用户。其语法格式如下所示:
chown [参数] [修改后的属主] [需要修改的文件或目录]
主要参数如下所示:
参数 | 功能 |
---|---|
-h | 改变符号链接文件的属主时不影响该链接所指向的目标文件 |
-f | 若该文件或目录的属主无法更改时,忽略错误信息 |
-v | 显示修改属主的详细信息 |
-R | 以递归的方式依次进行变更,即对当前目录下所有文件和子目录进行变更 |