用户、用户组与文件的关系
在了解权限管理之前先创建一些用户和用户组便于后续学习,在root用户下操作:
# 创建两个用户组 [root@localhost data]# groupadd kaifa [root@localhost data]# groupadd ceshi # 创建三个用户,指定他们进入的用户组 [root@localhost data]# useradd -g kaifa zhangsan [root@localhost data]# useradd -g kaifa lisi [root@localhost data]# useradd -g ceshi wangwu # 设置三个用户的密码,这里我统一设置为123 [root@localhost data]# passwd zhangsan [root@localhost data]# passwd lisi [root@localhost data]# passwd wangwu登录张三用户,在~目录中创建一个1.txt文件,关系如下图所示
[zhangsan@localhost ~]$ touch 1.txt [zhangsan@localhost ~]$ ls 1.txt环境已经模拟好了,现在分析一下1.txt文件和这几个用户之间的关系:
张三创建了这个文件,那么张三就是该文件的所有者
张三创建了这个文件,同时张三属于开发组,那么这个文件也属于开发组,开发组下除了张三还有李四,那么李四就是同组的用户
王五既不是文件的所有者,和文件也不属于同一个组,那么对于文件来说王五就是其他组的用户
如果不知道该文件的所有者是谁,属于哪个组,可以用ls -l或者ll命令来查看
通过分析可得知,文件与用户可以有三种关系:所有者、同组,其他组,请务必牢记这三种关系,他与权限有着密切的关联
权限的基本知识权限代表着用于对文件/文件夹操作的控制,可以控制用户是否有权利查看文件、修改文件以及执行文件
如何查看权限信息
详细的权限信息,在我们使用ll命令的时候就可以看到,列表的第一列就代表权限信息
可以发现他给出的权限信息为-rw-r--r--,完整的权限信息是由四部分组成,将他们拆开后如下所示
后面的三组就不细说了,结合之前说的就能理清,这里介绍下第一位文件类型,简单创建几个文件观察首位的变化
如果是文件夹,首位就是d,如果是文件首位就是-,如果是软连接首位就是l...... 更多的这里就不细说了 [zhangsan@localhost ~]$ touch 1.txt [zhangsan@localhost ~]$ mkdir -p files/1/2/3 [zhangsan@localhost ~]$ ln -s files/1/2/ 3 [zhangsan@localhost ~]$ ll 总用量 0 -rw-r--r--. 1 zhangsan kaifa 0 12月 22 16:35 1.txt -rw-r--r--. 1 zhangsan kaifa 0 12月 22 16:35 2.txt lrwxrwxrwx. 1 zhangsan kaifa 10 12月 22 16:34 3 -> files/1/2/ drwxr-xr-x. 3 zhangsan kaifa 15 12月 22 16:33 files现在回过头来看1.txt的权限信息-rw-r--r--,首先通过首位可以看出他是一个普通文件,接下来分析一下他的权限信息
zhangsan作为所有者,可以对文件进行查看和编辑
lisi与文件属于同一个组,可以对文件进行查看操作
wangwu属于其他组,同样可以对文件进行查看
然后切换到/home目录,再查看该目录下的文件夹的权限信息
[zhangsan@localhost ~]$ cd /home [zhangsan@localhost home]$ ll 总用量 0 drwx------. 3 lisi kaifa 78 12月 22 14:24 lisi drwx------. 3 wangwu ceshi 78 12月 22 14:24 wangwu drwx------. 6 zhangsan kaifa 155 12月 22 16:35 zhangsan之前说过每个目录代表着一个用户,而每个目录的权限都为drwx------,也就是说除了目录所有者之外任何人都没有权限查看该目录,这也就解释了为什么不能查看其他用户目录的问题
权限信息在文件/文件夹上的作用
权限信息在文件和在文件夹上起到的作用分别是不一致的,具体如下
当目标是一个文件时:
r 可以控制是否有权限查看该文件的内容
w 可以控制是否有权限修改文件的内容,需要注意的是就算有修改权限也并不代表可以删除该文件,判断一个文件是否允许被删除需要观察该文件所在的目录的权限信息
x 可以控制是否拥有执行文件的权限
当目标是一个目录时:
r 可以控制是否有权限移动到该目录下,是否有权限查看目录下的文件
w 可以控制是否有权限增删目录下的文件
x 可以控制是否拥有执行文件的权限
修改权限信息