#Linux学习笔记# Linux文件的所有者、群组和其他人

时间:2022-02-23 15:33:23

1.关于所有者、群组和其他人

Linux系统中,每个文件都具有UserGroupOthers三种身份的权限配置。那这三种身份分别表示什么意思呢?配置这三种身份的权限有啥意义呢?

(1)文件所有者(User

由于Linux系统支持多人多任务,因此常常存在多个用户同时使用一个Linux系统的情况。那么,如何确认每个用户私密文件的访问控制呢?这就是文件所有者存在的原因。

Linux系统为每个用户提供一个用户主目录,用户的主目录为/home/<username>。例如,下图的/home/lienhua34是我的主目录,该目录下只有我能够添加文件和删除文件,其他人可以浏览,但是能不能查看我的文件内容就依具体的文件权限了。

#Linux学习笔记# Linux文件的所有者、群组和其他人 

每个Linux用户创建的文件的所有者都是自己。如果我有一个私密的文件,我当然不希望别人能够看到,于是我就这个文件放到我的主目录下,然后将文件的权限设置成只有文件所有者(即我自己)能够查看和修改。就算其他用户知道我有这个文件,但他还是不能查看、修改和删除。

(2)群组(Group

试想这样子一个场景:你在一个团队中,团队中的每个成员都在同一台Linux机器上进行工作,该Linux机器的某个目录下存放你们团队的工作文档,团队中的每个成员都应该对这份文件具有查看和修改操作,同时又不希望这台机器上该团队之外的用户具有访问权限,那我们如何实现这种权限控制呢?这就需要用到群组的概念。

我们可以在Linux系统中为该团队建立一个群组,将该团队的所有成员添加到该群组中。然后将属于这个团队的文件所属群组设置为该群组,然后将文件的群组权限设置为可读写,于是该群组所有成员便都可以查看和修改,而不属于该群组的用户便没有这个权限。

(3)其他人(Others

不属于文件所有者或文件所属群组成员的用户,便都是其他人。

当然,有个比较特殊的超级用户,即root。该用户可以访问Linux机器上的所有文件。

更详细的介绍可以参考鸟哥Linux私房菜:使用者和群组

2.修改所有者和群组

我们通过ls -l可以查看文件的属性,如下图所示,

 #Linux学习笔记# Linux文件的所有者、群组和其他人

其中,第3和第4列分别表示文件的所有者(lienhua34)和所属群组(lienhua34)。我们可以通过chownchgrp分别来修改文件的所有者和所属群组。

1)修改文件所属群组chgrp

chgrp即为change group的缩写。命令chgrp的用法如下,

chgrp [-R] GROUP FILE

要修改的群组名GROUP必须是一个已存在的群组,其中-R选项是否递归修改目录下的所有文件和子目录的所属群组。例如,下面修改了文件filea的所属群组为root

lienhua34@test$ sudo chgrp root filea
[sudo] password for lienhua34: 
lienhua34@test$ ls -l
total 4
-rw-r--r-- 1 lienhua34 root         0 Dec 12 18:38 filea
drwxr-xr-x 2 lienhua34 lienhua34 4096 Dec 12 18:38 subdir
lienhua34@test$

 (2)修改文件所有者chown

chown即为change owner的缩写。命令chown的简单用法如下所示,

chown [-R] OWNER[:[GROUP]] FILE

命令chown除了能够修改文件所有者,也能够同时修改文件的所属群组(通过在所有者后面紧着冒号(:)和群组名)。

 样例:

将文件filea的所有者修改为root

lienhua34@test$ sudo chown root filea
lienhua34@test$ ls -l
total 4
-rw-r--r-- 1 root      root         0 Dec 12 18:38 filea
drwxr-xr-x 2 lienhua34 lienhua34 4096 Dec 12 18:38 subdir

同时将文件filea的所有者修改为lienhua34以及所属群组修改为lienhua34

lienhua34@test$ sudo chown lienhua34:lienhua34 filea
lienhua34@test$ ls -l
total 4
-rw-r--r-- 1 lienhua34 lienhua34    0 Dec 12 18:38 filea
drwxr-xr-x 2 lienhua34 lienhua34 4096 Dec 12 18:38 subdir

 

(done)