文件的属性有 十分钟掌握Linux文件属性及权限操作,不再担心权限不够!

Linux文件的基本属性

Linux系统是典型的多用户系统,不同的用户处于不同的位置,拥有不同的权限,为了保护系统的安全,Linux系统对不同用户对同一文件(包括目录文件)的访问有不同的规定。

在Linux中,我们可以使用ll或ls –l命令来显示文件的属性以及该文件所属的用户和组,如:

[root@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
……

例子中bin文件的第一个属性用“d”表示,“d”表示该文件在Linux中为目录文件。

在Linux中,第一个字符代表该文件是目录、文件、链接文件等。

后面的字符以三个为一组,都是“rwx”三个参数的组合。其中[r]代表可读(read),[w]代表可写(write),[x]代表可执行(execute)。需要注意的是,这三个权限的位置不会变,如果没有权限,就会出现减号[-]。

每个文件的属性由左侧第一部分的10个字符决定(如下图所示)。

文件属性包含_文件的属性有_属性文件是什么意思

从左到右,分别用数字0~9表示。

位 0 决定文件类型,位 1-3 决定所有者(文件的所有者)对文件的权限。

位 4-6 确定组(与所有者同组的用户)对该文件的权限,位 7-9 确定其他用户对该文件的权限。

其中第1、4、7位代表读权限,如果以“r”字符表示,则授予读权限,如果以“-”字符表示,则拒绝读权限。

第2、5、8位表示写权限,如果用“w”字符表示,则有写权限,如果用“-”字符表示,则没有写权限。第3、6、9位表示可执行权限,如果用“x”字符表示,则有执行权限,如果用“-”字符表示,则没有执行权限。

Linux 文件所有者和组

[root@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
……

对于一个文件来说,它有一个特定的所有者,即拥有该文件所有权的用户。

同时,在Linux系统中,用户是按照组来划分的,一个用户属于一个或多个组。

文件属性包含_属性文件是什么意思_文件的属性有

文件所有者以外的用户又可以分为与文件所有者同组的用户、其他用户。

因此Linux系统根据文件所有者、与文件所有者同组的用户、其他用户定义了不同的文件访问权限。

上例中,bin 文件为目录文件,文件所有者和所属组均为 root,文件所有者具有读、写、执行权限,与文件所有者同组的其他用户具有读、执行权限,其他用户也具有读、执行权限。

更改文件属性

1. chgrp:改变文件组

语法:

chgrp [-R] 属组名文件名

参数选项

2.chown:改变文件所有者文件的属性有,同时可以改变文件组

语法:

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

进入/root目录(~),将install.log的所有者改为bin账户:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log

将 install.log 的所有者和组改回 root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log

3. chmod:更改9个文件属性

Linux文件属性的设置方式有两种,一种是数字,一种是符号。

Linux文件有九种基本权限,即所有者/组/其他,每个权限都有各自的读/写/执行权限。

我们再来回顾一下上面刚刚提到的数据:文件权限字符为:“-rwxrwxrwx”,这九个权限是三个一组的!其中,我们可以用数字来表示每一个权限,各个权限的分数对照表如下:

每个身份(owner/group/others)的三个权限(r/w/x)的分数需要累计,例如当权限为:[-rwxrwx—]时,分数为:

所以当我们稍后更改权限时,该文件的权限编号将为770!更改权限的chmod命令的语法如下:

 chmod [-R] xyz 文件或目录

选项和参数:

例如想开启.bashrc文件的所有权限,命令如下:

[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

如果我们想将权限改为 -rwxr-xr– 怎么办?那么权限分数就变成了 [4+2+1][4+0+1][4+0+0]=754。

符号类型更改文件权限

更改权限还有一种方式!从前面的介绍我们可以看出,权限基本上有九种,分别是 (1) 用户 (2) 群组 (3) 其他!那么我们就可以用 u, g, o 来代表三种身份的权限!

另外a代表全部,也就是所有身份!那么读写权限就可以写成r,w,x了!也就是说可以用下面的方法查看:

如果我们需要设置文件权限为-rwxr-xr–文件的属性有,可以使用chmod u=rwx,g=rx,o=r filename来设置:

[root@www ~]# ls -al .bashrc
-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod a+w .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

如果您想删除权限而不更改其他现有权限,该怎么办?例如,如果您想删除每个人的可执行权限,那么:

[root@www ~]# chmod a-x .bashrc
[root@www ~]# ls -al .bashrc
-rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc

© 版权声明
THE END
喜欢就支持一下吧
点赞287赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容