赞
踩
我们发现,初学者并不是不能理解权限命令,而是不能理解为什么需要设定不同的权限。所有的人都直接使用管理员身份,不可以吗?现在由于绝大多数用户使用的是个人计算机,而使用个人计算机的用户一般都是被信任的用户。在这种情况下,大家都可以使用管理员身份直接登录。又因为管理员拥有最大权限,所以给我们带来了错觉,以为在计算机中不需要分配权限登记,不需要使用不同的账户。
但是在服务器上就不是这种情况了,在服务器上运行的数据越重要,价值越高,那么对权限的设定就要越详细,用户的分级也要越明确。所以,在服务器上,绝对不是所有的用户都使用root身份登录,而要根据不同的工作需要和职位需要,合理分配用户等级和权限等级。
前面讲Is命令的-l
选项时,简单解释过所有者和所属组,例如:
[root@localhost ~]# ls -l anaconda-ks.cfg -rw-------. 1 root root 1500 Mar 23 09:07 anaconda-ks.cfg
命令的第三列root用户就是文件的所有者,第四列root组就是文件的所属组。而且我们也介绍过,文件的所有者一般就是这个文件的建立者,而系统中绝大多数系统文件都是由root建立的,所以绝大多数系统文件的所有者都是root。
接下来我们解释一下所属组,首先讲解下用户组的概念。用户组就是一组用户的集合,类似于大学里的各种社团。那为什么要把用户放入一个用户组中呢?当然是为了方便管理。大家想想,如果我有100位用户,而这100位用户对同一个文件的权限是一致的,那我是一位用户一位用户地分配权限方便,还是把100位用户加入一个用户组中,然后给这个用户组分配权限方便呢?不言而喻,一定是给一个用户组分配权限更加方便。
综上所述,给一个文件区分所有者、所属组和其他人,就是为了分配权限方便。就像我买了一台电脑,那我当然是这台电脑的所有者,可以把我的学生加入一个用户组,其他不认识的路人当然就是其他人了。分配完了用户身份,就可以分配权限了,所有者当然对这台电脑拥有所有的权限,而位于所属组中的这些学生可以借用我的电脑,而其他人则完全不能碰我的电脑。
前面讲解ls
命令时,我们已经知道长格式显示的第一列就是文件的权限,例如:
[root@localhost ~]# ls -l install.log-rw-r--r--. 1 root root 9615 Mar 23 18:15 install.log
第一列的权限位如果不计算最后的.
(这个点代表该文件受SELinux保护),则共有 10 位,这 10 位权限位的含义如下图所示:
info ls
命令查看。在这里只讲一些常见的文件类型。
-
:普通文件。b
:块设备文件。这是一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/sda1就是这种文件。c
:字符设备文件。这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等。d
:目录文件。Linux 中一切皆文件,所以目录也是文件的一种。l
:软链接文件。p
:管道符文件。这是一种非常少见的特殊设备文件。s
:套接字文件。这也是一种特殊设备文件,一些服务支持 Socket 访问,就会产生这样的文件。-
,则代表没有对应的权限。
rwx
权限。rwx
权限。这就是文件基本权限的含义,那我们看看下面这个文件的权限是什么。
[root@localhost ~]# ls -l install.log-rw-r--r--. 1 root root 9615 Mar 23 18:15 install.log
这个文件的所有者,也就是root用户,拥有读和写的权限;所属组中的用户,也就是root组中除root用户意外的其他用户,拥有只读权限;而其他人拥有只读权限。
最后我们在看看权限位的这个.
的作用。这个点在CentOS 6以上的系统中才出现的,在以前的系统中是没有的。它的含义是:如果在文件的权限位中含有.
,则表示这个文件受SELinux的安全规则管理。
命令 chmod的作用是修改文件的权限模式。
[root@localhost ~]# chmod [选项] 权限模式 文件名
选项 | 说明 |
---|---|
-R | 递归设置权限,也就是给目录中现有的所有文件设定权限; |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。