介绍
在Linux系统中,利用权限来保护资源安全是一个不错的选择。系统中每个文件都有三种权限:可读(r)、可写(w)、可执行(x),分别对应权限值4、2、1。系统对每个文件和目录都有默认的权限,每个文件又可以分为属主(u)、同组用户(g)和其他组用户(o)。
1. 文件权限概述
不同的文件类型,其权限是不一样的,虽然每个文件的权限都是777,但是当你创建文件的时候,你不会看到该文件的权限是777,这是因为部分权限被掩码挡住了。
对于每个文件,它由不同的信息组成。如图所示,这是我们之前创建的名为CAT1的空文件。文件的详细信息如下所示。
文本文件与目录文件的区别在于第一个描述符,目录使用“d”作为描述符,如图所示,这是之前创建的一个名为CAT的目录,下面是该目录的详细信息及相关介绍。
使用带有 -l 选项的 ls 命令,可以从权限字符串的第一个字母开始识别列出的每个文件的类型。以下是几个常见的标识号。
●-:普通文件(硬链接)。
● l:符号链接(软链接,可以使用带有-s 选项的ln 命令创建软链接)。
● d:目录。
● c:字符设备文件。
● p:命名管道。
● s:插座。
● b:块设备特殊文件。
2.文件权限管理
从刚刚创建的CAT1文件可以看出,虽然该文件是由cat用户创建的,但是cat用户并没有该文件的可执行权限。现在我们需要给CAT1添加可执行权限(x),使用chmod命令即可。使用chmod命令也很简单,如下所示,我们可以给CAT1文件添加cat用户的可执行权限。
[cat@cat ~]$ chmod u+x CAT1
经过上述操作后,cat用户对CAT1文件就有了可执行的权限。当然,添加其他权限的操作也类似,也可以使用“chmod+rwx ”来授权。有兴趣的读者可以尝试一下。这里只说方法,大家可以多练习,以便更好地掌握。
如果要赋予CAT目录下的目录可执行权限,可以使用带-R选项的Chmod命令,格式如下:
chmod –R 目录名1/目录名2
目录2是目录1的子目录,即在目录1下创建目录2。
使用 -R 选项以递归方式授予权限。
接下来我们讲解如何取消某个用户(或用户组)对该文件的拥有权限,使用的命令依然是chmod,如下所示,取消cat用户对文件CAT1的可执行权限。
[cat@cat ~]$ chmod u-x CAT1
根据文件权限值,4代表可读,2代表可写,1代表可执行,存在时权限值用1表示,否则用0表示(其实就是用二进制表示),就可以计算出一个文件或者目录的权限值。如图所示,计算出了名为CAT1的文件的权限值。
如果需要对文件授予权限,也可以使用“chmod 664 CAT1”对用户进行授权。
有时为了方便,可以将文件所有权授予其他人。可以使用 chown 来更改文件所有者。下面演示如何将 CAT1 文件从用户 cat 转移到用户 dog。首先切换到 root 用户,然后执行。由于 CAT1 文件在用户 cat 的主目录中,因此使用 /home/CAT1。
[root@cat ~]# chown dog /home/cat/CAT1
执行该命令后,可以使用带 -l 选项的 ls 命令确认更改文件所有者的操作是否成功。以下命令显示更改文件所有者后的文件详细信息。
[cat@cat ~]$ ls–l total 0 -rw-rw-r-- 1 dog cat 0 Aug 9 21:27 CAT1
原文来源:
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。