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
暂无评论内容