Linux学习之路_10.用户组和权限管理

目录

1.Linux组基本介绍

2.文件/目录的所有者

3.文件/目录所在组

4.文件/目录其他组

5.文件/目录权限的基本介绍

6.rwx详解

7.修改权限chmod

8.实践


1.Linux组基本介绍

    在Linux中每个用户必须属于一个组,不能独立于组外,文件/目录的所有者,所在组,其他组概念。

Linux学习之路_10.用户组和权限管理

 

2.文件/目录的所有者

    1)一般为文件的创建者,谁创建了文件,谁就是该文件的所有者

    2)查看文件的所有者:ls -ahl

    Linux学习之路_10.用户组和权限管理

    3)修改文件/目录的所有者:chown [-R] 用户名 文件名,其中-R表示修改的是目录,则目录及其子目录/文件递归生效。

    示例1:myfolder目录的所有者修改成tengpengfei,但是该目录下的文件所有者不变

    Linux学习之路_10.用户组和权限管理

    示例2:目录myfolder及其子目录/文件的所有者被修改为tengpengfei

    chown -R tegnpegnfei myfolder/ 

    Linux学习之路_10.用户组和权限管理

3.文件/目录所在组

    1)当某个用户创建了一个文件,默认该用户所在的组就是该文件的所在组

    2)查看文件的所在组:ls -ahl

    3)修改文件的所在组chgrp [-R] 组名 文件名,其中-R表示修改的是目录,则目录及其子目录/文件递归生效。

    示例1:修改myfolder目录的所在组为tengpengfei,但是其下子目录/文件所在组不变

    Linux学习之路_10.用户组和权限管理

    示例2:修改myfolder目录及其下子目录/文件所在组为tengpengfei

    Linux学习之路_10.用户组和权限管理

 

4.文件/目录其他组

    除所有者和所在组的用户外,系统的其他用户都是文件的其他组。

 

5.文件/目录权限的基本介绍

    Linux学习之路_10.用户组和权限管理

    以上图为例,字符从左向右依次表示什么意思。

1)文件类型

第0位表示文件类型(d,-,l,c,b)

d表示目录

-表示普通文件

l表示软连接

c表示字符设备,比如:键盘,鼠标

b表示块文件,硬盘

b.txt是一个文本文件,所以显示-

2)文件权限:r表示可读,w表示可写,x表示可执行,-表示无权限

第1位到第3位表示文件所有者的权限

    a.txt的所有者拥有可读可写不可执行权限

第4位到第6位表示文件所在组的用户的权限,

    a.txt的所在组的用户拥有可读不可写不可执行权限

第7位到第9位表示文件其他组的用户的权限,

    a.txt其他组用户拥有可读不可写不可执行权限

也可用数字表示为:r=4,w=2,x=1  因此rwx=4+2+1=7

3)点后面的1表示:如果是文件表示硬链接的数,如果是目录则表示目录中子目录的个数

4)第一个root 文件的所有者

5)第二个root 文件所在组

6)0表示文件的大小,如果是目录则显示4096

7)文件的最后修改时间

8)文件的名称

 

6.rwx详解

1)作用到文件

【r】表示可读(read),可以读取,查看

【w】表示可写(write),可以修改,但不代表可以删除文件,删除文件需要对该文件所在目录有写权限

【x】表示可执行(execute),可以被执行

2)作用到目录

【r】表示可读(read),可以读取,ls查看目录内容

【w】表示可写(write),可以修改,目录内创建,删除,重命名目录

【x】表示可执行(execute),可以进入该目录

 

7.修改权限chmod

1)第一种方式:“+”“-”“=”变更权限

u:所有者,g:所在组,o:其他组,a:所有人(u,g,o总和)

示例1:变更a.txt文件权限:所有者读写执行,所在组:读执行,其他组:读执行

Linux学习之路_10.用户组和权限管理

示例2:变更a.txt文件权限:所有者去掉执行权限,所在组增加写权限

Linux学习之路_10.用户组和权限管理

2)第二种方式:通过数字变更权限

规则:r=4,w=2,x=1,拥有什么权限加上对应的数字

例如:chmod u=rwx,g=rx,o=r a.txt等于chmod 754 a.txt

示例1:权限变更:所有者:读写执行,所在组:读写,其他组:读

Linux学习之路_10.用户组和权限管理

 

8.实践

创建以下用户和用户组

所有者

Jack,Tom

A,B

所在组

police(警察)

bandit(土匪)

1.Jack创建一个文件,权限:所有者读写,所在组读,其他组没有权限

2.Jack修改权限,所在组读写,其他组读

3.A修改所在组到police组,是否可以读写

答案:是

注意:

[1]Jack需要修改自己家目录的权限让A可以进入,因为A需要读写Jack创建的文件,所以这里设置rx

[2]文件所在组跟用户所在组不要搞混了,修改了用户所在组,但是用户对应的家目录所在组不变,使用ll查看文件时可以看到文件所在组,查看用户所在组使用id 用户名

Linux学习之路_10.用户组和权限管理