欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux_组管理和权限管理

程序员文章站 2022-04-26 12:05:42
...

一、Linux组

1、组介绍

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

1)所有者

2)所在组

3)其他组

4)改版用户所在组

Linux_组管理和权限管理

2、文件/目录所有者

一般为文件的创建者,谁创建了该文件就自然成为了该文件的所有者。

  • 查看文件的所有者
    ls -ahl #(all human list) 

    Linux_组管理和权限管理

Linux_组管理和权限管理

  • 修改文件的所有者
    chown 用户名 文件名

    Linux_组管理和权限管理

  • 组的创建
    groupadd 组名

    Linux_组管理和权限管理

 

3、文件/目录所在组

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

  • 查看用户/目录所在组
    ls -ahl

    Linux_组管理和权限管理

  • 修改文件的所在组
    chgrp 组名 文件名

    Linux_组管理和权限管理

4、其他组

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

5、改变用户所在组

在添加用户时,可以指定将用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。

usermod -g 组名 用户名 (功能描述:改变用户所在组)
usermod -d 目录名 用户名 (功能描述:改变该用户登录的初始目录)

Linux_组管理和权限管理

二、Linux权限(文件和目录)

1、权限介绍

ls -l

上述命令中显示的内容:

-rw-r--r--. 1 root police 0 Jul 20 23:05 apple.txt

 0-9 位说明:

1)第0位:确定文件类型(d,-,l,c.b)

2)第1-3位:确定所有者(文件的所有者)拥有的权限。-User

3)第4-6位:确定所属组(同用户组的)拥有该文件的权限,-Group

4)第7-9位:确定其他用户拥有该文件的权限,-Other

Linux_组管理和权限管理

 2、rwx权限详解

  • rwx作用到文件
    1)【r】代表刻度(read):可以读取,查看
    2)【w】代表可以写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写的权限,才能删除。
    3)【x】代表可执行(execute):可以被执行
  • rwx作用到目录
    1)【r】代表可读(read):可以读取,ls查看目录内容
    2)【w】代表可写(write):可以修改,目录内创建+删除+重命名目录
    3)【x】代表可执行(execute):可以进入该目录

3、文件以及目录权限实际案例

ls -l
drwx------. 4 tom  police 4.0K Jul 20 23:05 .
drwxr-xr-x. 8 root root   4.0K Jul 20 23:10 ..
-rw-r--r--. 1 root police    0 Jul 20 23:05 apple.txt
-rw-r--r--. 1 tom  police   18 May 10  2016 .bash_logout
-rw-r--r--. 1 tom  police  176 May 10  2016 .bash_profile
-rw-r--r--. 1 tom  police  124 May 10  2016 .bashrc
drwxr-xr-x. 2 tom  police 4.0K Nov 11  2010 .gnome2
drwxr-xr-x. 4 tom  police 4.0K Jul 20 02:31 .mozilla

10个字符确定不同用户能对文件干什么

第一个字符代表文件类型:文件【-】,目录【d】,链接【l】

其余字符每3个一组【rwx】:读【r】,写【w】,执行【x】

第一组【rwx】:文件拥有者的权限是读、写和执行

第二组【r-x】:与文件拥有者同一组的用户的权限是读和执行,但是不能写

第三组【r--】:不与文件拥有者同组的其他用户的权限是读不能写和执行

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

1   文件:硬连接数或 目录:子目录数

root                 用户

root                 用户组

4.0k                文件大小(字节),如果是文件夹,显示4096

Jul 20 23:05   最后修改的日期

apple.txt         文件名    

三、权限修改-chmod

通过chmod权限可以修改文件或目录的权限

Linux_组管理和权限管理

1、第一种方式:+、-、= 变更权限

u:所有者,g:所有组 ,o:其他人,a:所有人(u,g,o 的综合)

1) chmod u=rwx,g=rx,o=x 文件目录名 #用户权限为rwx,组的权限为rx,其他权限为x
2) chmod o+w 文件目录名 #给文件目录的其他组增加一个写的权限
3)chmod a-x 文件目录名 #给文件目录的所有减去一个可执行权限

Linux_组管理和权限管理

Linux_组管理和权限管理

Linux_组管理和权限管理

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

r=4,w=2,x=1  rwx=7

chmod u-rwx,g-rx,o-x 文件目录名
相当于
chmod 751 文件目录名

Linux_组管理和权限管理

四、修改文件所有者-chown

chown newowner file #改变文件的所有者
chown newowner:newgroup file #改变用户的所有者和所有组    
-R  #如果是目录,则使其下所有子文件或目录递归生效

Linux_组管理和权限管理

Linux_组管理和权限管理

五、修改文件所在组

chgrp newgroup file #改变文件所在组

Linux_组管理和权限管理

 

六、最佳实践-警察和土匪游戏

 

police,bandit:组
jack,jerry:警察
xh, xq:土匪
(1)创建组

Linux_组管理和权限管理
(2)创建用户

Linux_组管理和权限管理
(3) jack创建一个文件,自己可以读写,本组人可以读,其它组没人任何权限

Linux_组管理和权限管理
(4) jack修改该文件,让其它组人可以读,本组人可以读写

Linux_组管理和权限管理
(5) xh投靠警察,看看是否可以读写.

Linux_组管理和权限管理

 

相关标签: Linux