首页 > 系统 > Linux > 正文

Linux文件权限与目录管理详解

2019-11-02 15:56:37
字体:
来源:转载
供稿:网友

一、Linux文件系统的三种身份

1)、文件所有者

2)、同组用户

同一个用户组的用户可以访问该用户组的文件;

每个账号可以加入多个用户组。

在同一个用户组的文件也可以设置不同的权限,可以不让本组用户查看。

3)、其他人

除了文件主、同组用户以外的人就是其他人。

PS: /etc/passwd 记录所有用户的账号

/etc/shadow 记录所有用户的密码

/etc/group 记录所有的组名

二、文件属性

ls -al 显示所有的文件名和相关属性(包括以.开头的隐藏文件)

total 72drwxr-xr-x+ 28 chaibozhou staff  952 4 23 08:08 .drwxr-xr-x  5 root    admin  170 4 13 21:24 ..-r--------  1 chaibozhou staff   9 3 21 12:00 .CFUserTextEncoding-rw-r--r--@ 1 chaibozhou staff 10244 4 23 11:25 .DS_Storedrwx------  5 chaibozhou staff  170 4 23 14:13 .Trash-rw-------  1 chaibozhou staff  3205 4 23 16:37 .bash_historydrwxr-xr-x  6 chaibozhou staff  204 4 4 15:51 .config

第一列:文件的类型和权限

d:目录文件

-:普通文件

l:链接文件

b:用于存储数据的设备文件

c:用于传输数据的设备文件:鼠标、键盘

接下来都是三个字符为一组,分别表示文件所有者的权限、同组用户的权限、其他用户的权限,而且r、w、x的顺序是固定不变的。

第二列:有多少文件名连接到此节点

第三列:这个文件/目录的所有者账号

第四列:这个文件所属的用户组

第五列:这个文件的大小,单位是B

第六列:这个文件的创建日期或修改日期

若想要现实完整的日期时间,可以在ls上加上参数:ls -l full-time

PS:在Linux的命令中,如果参数以-开头,则表示后面的参数是简写;如果以--开头,则表示后面的参数是完整的。这里的full-time就是一个完整的参数。

PS:如果当初使用中文安装Linux的话,显示完整的日期应该会以中文显示,但中文无法在命令窗口中显示,此时就会出现乱码,此时只能设置一下,让日期用英文显示:LANG=en_US

第七列:文件名

三、Linux权限的重要性

1、保护系统文件的功能

通常系统文件只有root管理员才有读、写、执行的权限。

2、为团队开发提供数据共享的功能

同一个开发团队可以设置成同组用户,从而能够共享文件。

四、改变文件属性与权限的命令

1、chgrp:改变文件所属的用户组

chgrp [-R] 新用户组 目录或文件 : 将这个路径下的文件的用户组改成“新用户组“

PS:这个新用户组一定得是/etc/group下有的,否则会报错。

PS:若最后一个参数是目录,则表示只将这个目录下的文件的用户组改成这个。

PS:-R表示若最后一个参数是目录,则将当前目录下的文件连同子目录下的所有文件的用户组都改成这个。

2、chown:改变文件主

chown [-R] 用户名 文件或目录 : 将这个目录下的所有文件的文件主都改成这个用户名。

PS:这个用户名必须是/etc/passwd下有的才行。

这个命令可以既修改文件主又修改用户组:chown [-R] 用户名:用户组名 目录/文件

chown [-R] 用户名.用户组名 目录/文件

PS:由于用户名可以存在小数点,当出现含有小数点的用户名时,系统会发生误判,所以我们一般都使用:来连接用户名和用户组名。

还可以仅修改用户组名:chown [-R] .用户组名 目录/文件

什么时候需要改变文件的文件主和用户组?

当我们把一个文件拷贝给别人的时候,假设这个文件只能文件主读取,由于拷贝会把文件的权限和所有的属性都一同复制,那么当另外一个人拿到拷贝后的文件后仍然无法访问;所以在拷贝完成之后,第一个人应当修改文件的属性和权限。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表