vlambda博客
学习文章列表

CentOS实操详解—Linux组管理和权限管理


CentOS实操详解—Linux组管理和权限管理





Linux 组基本介绍



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

  • 所有者。
  • 所在组。
  • 其它组。
  • 改变用户所在的组。

示意图:

CentOS实操详解—Linux组管理和权限管理





文件/目录 所有者



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

1.查看文件的所有者

指令: ls -ahl

应用实例:

创建一个组 police,再创建一个用户 tom,将 tom 放在 police 组, 然后使用 tom 来创建一个文件 ok.txt,看看情况如何:

CentOS实操详解—Linux组管理和权限管理

CentOS实操详解—Linux组管理和权限管理
CentOS实操详解—Linux组管理和权限管理

2.修改文件的所有者

指令: chown 用户名 文件名

应用案例:

使用 root 创建一个文件 apple.txt,然后将其所有者修改成 tom:

CentOS实操详解—Linux组管理和权限管理

3.修改文件的所在的组

基本指令: chgrp 组名 文件名

应用实例:

使用 root 用户创建文件 orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在的组,修改到 police 组。

CentOS实操详解—Linux组管理和权限管理

CentOS实操详解—Linux组管理和权限管理





其它组



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





改变用户所在组



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

1.改变用户所在组

1)基本指令

  • usermod -g 组名 用户名。
  • usermod -d 目录名 用户名 改变该用户登录的初始目录。

2)应用实例

创建一个土匪组( bandit )将 tom 这个用户从原来所在的 police 组,修改到 bandit( 土匪组 )。

CentOS实操详解—Linux组管理和权限管理





权限的基本介绍



ls -l 中显示的内容如下:
  
    
    
  
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

0-9 位说明:

  • 第 0 位确定文件类型(d,-,l,c,b)。
  • 第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。–User
  • 第 4-6 位确定所属组(同用户组的)拥有该文件的权限。–Group
  • 第 7-9 位确定其他用户拥有该文件的权限。–Other

如下图所示:

CentOS实操详解—Linux组管理和权限管理





rwx 权限详解



1. rwx 作用到文件

  • 【r】代表可读 read:可以读取,查看。
  • 【w】代表可写 write:可以修改,但是不代表可以删除该文件,删除一个文件。的的前提条件是对该文件所在的目录有写权限,才能删除该文件。
  • 【x】代表可执行 execute:可以被执行。

2.rwx 作用到目录

  • 【r】代表可读 read:可以读取,ls 查看目录内容。
  • 【w】代表可写 write:可以修改,目录内创建+删除+重命名目录。
  • 【x】代表可执行 execute:可以进入该目录。





文件及目录权限实际案例



ls -l 中显示的内容如下:
  
    
    
  
-rwxrwr-- 1 root root 1213 Feb 2 09:39 abc

10 个字符确定不同用户能对文件干什么:
  
    
    
  
第一个字符代表文件类型:文件(-),目录(d),链接(l) 其余字符每3个一组(rwx),读®写(w)执行(x) 第一组rwx:文件拥有者的权限是读、写和执行 第二组rw-:与文件拥有者同一组的用户的权限是读、写但不能执行 第三组r–:不与文件拥有者同组的其他用户的权限只能读,不能写和执行 可用数字表示为:r=4,w=2,x=1因此 rwx=4+2+1=7 1 文件:硬连接数,或者目录下的子目录数量 root 用户 root 组 1213 文件大小(字节),如果是文件夹,显示 4096 字节 Feb 2 09:39 最后修改日期 abc 文件名称





修改权限 chmod 指令



1.基本说明

通过 chmod 指令,可以修改文件或者目录的权限。

2.权限示意图

CentOS实操详解—Linux组管理和权限管理

3.变更权限

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

u:所有者、g:所有组、o:其他人、a:所有人(u、g、o的总和)。

  • chmod u=rwx,g=rx,o=x 文件目录命。
  • chmod o+w 文件目录名。
  • chmod a-x 文件目录名。

案例演示:

给 abc 文件的所有者读写执行的权限,给所在组读执行权限,给其他组读执行权限。

CentOS实操详解—Linux组管理和权限管理

给 abc 文件的所有者除去执行的权限,增加组写的权限。

CentOS实操详解—Linux组管理和权限管理

给 abc 文件的所有用户只设置读的权限。

CentOS实操详解—Linux组管理和权限管理

5.第二种方式:通过数字变更权限

数字变更权限的规则如下:

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

  • chmod u=rwx,g=rx,o=x 文件目录名。
  • 相当于 cmod 751 文件目录名。

案例演示:

将 /home/abc.txt 文件的权限修改成 rwxr-xr-x,使用数字的方式实现。

CentOS实操详解—Linux组管理和权限管理





修改文件所有者 chown



1.基本介绍

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

2.案例演示

将 /home/abc.txt 文件的所有者修改成 tom。

CentOS实操详解—Linux组管理和权限管理

将 /home/kkk 目录下的所有的文件和目录的所有都修改成 tomc。

CentOS实操详解—Linux组管理和权限管理





修改文件所在组 chgrp



1.基本介绍

chgrp newgroup file 改变文件的所有组。

2.案例演示

请将 /home/abc.txt 文件所在的组修改成 bandit。

CentOS实操详解—Linux组管理和权限管理

请将 /home/kkk 目录下所有的文件和目录的所在组都修改成 shaolin。

CentOS实操详解—Linux组管理和权限管理





最佳实践—警察和土匪游戏



  • police、bandit。
  • jack,jerry:警察。
  • xh,xq:土匪。

1. 创建组:
  
    
    
  
groupadd police groupadd bandit

2. 创建用户:
  
    
    
  
useradd -g police jack useradd -g police jerry useradd -g bandit xh useradd -g bandit xq

3. jack 创建一个文件,自己可以读写、本组人可以读,其它组没任何权限:
  
    
    
  
【r=4 w=2 x=1】640理解为 6自己读写、4本组人读、0其它组没权限

CentOS实操详解—Linux组管理和权限管理

4. jack 修改该文件,让其它组人可以读,本组人可以读写。

CentOS实操详解—Linux组管理和权限管理

5. xh 投靠警察,看看是否可以读写。

首先修改xh的组:

CentOS实操详解—Linux组管理和权限管理

然后修改 jack 的目录权限【同一组用户具备rx读、执行的全写】:

CentOS实操详解—Linux组管理和权限管理

最后使用 xh 进入 jack 的目录即可操作 jacko1.txt 文件。

CentOS实操详解—Linux组管理和权限管理





最佳实践2—西游记



1. 建立两个组( 神仙,妖怪 ):

CentOS实操详解—Linux组管理和权限管理

2. 建立四个用户( 唐僧,悟空,八戒,沙僧 ),为其设置密码,把悟空、八戒放入妖怪组,唐僧、沙僧放入神仙组。

CentOS实操详解—Linux组管理和权限管理

CentOS实操详解—Linux组管理和权限管理

3. 用悟空建立一个文件 monkey.java 该文件要输出 i am monkey。

CentOS实操详解—Linux组管理和权限管理

CentOS实操详解—Linux组管理和权限管理

4. 给八戒一个可以 rw 读写的权限。

CentOS实操详解—Linux组管理和权限管理

5. 八戒修改 monkey.java 加入一句话 i am pig。

首先修改 wukong 目录同组 rx 权限:

CentOS实操详解—Linux组管理和权限管理

然后 bajie 进入 wikong 目录修改 monkey.java 文件即可:

CentOS实操详解—Linux组管理和权限管理

6. 唐僧沙僧对该文件没有权限( 默认情况下其它组没有任何权限 )。

7. 把沙僧放入妖怪组:

CentOS实操详解—Linux组管理和权限管理

8. 让沙僧修改 monkey.java ,加入一句话 “我是沙僧,我是妖怪!”

CentOS实操详解—Linux组管理和权限管理




 推荐阅读 





 运维界升职加薪必备的云计算技术,你学了吗?

学完高级运维云计算课程之后,你可以:

  • 跨越90%企业的招聘硬门槛
  • 增加70%就业机会
  • 拿下BAT全国TOP100大厂敲门砖
  • 体系化得到运维技术硬实力
  • 技术大佬年薪可达30w+

 资源放送 
2022新版Linux运维高级云计算-红帽RHCE实战课程合集,扫描下方二维码即可领取!
 文章来源网络 侵删