Linux学习笔记三——组管理和权限管理

1. 组管理

Linux 组基本介绍

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

文件/目录 所有者

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

  • 查看文件所有者
ll  可以查看文件所有者、所在组,以及相应的权限,下面会详细介绍
  • 修改文件所有者
chown 用户名 文件名
  • 改变用户的所有者和所有组
chown newowner:newgroup	file	

如果是目录,在chown 后 加-R选项,可以使目录下的所有文件生效

文件/目录 所在组

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

  • 组的创建
groupadd 组名
  • 改变文件所在组
chgrp 组名 文件名
  • 改变用户所在组
    在添加用户时,可以指定将该用户添加到哪个组中(useradd -g 用户组 用户名),同样的用 root 的管理权限可以改变某个用户所在的组。
usermod -g 组名 用户名

注意,改变之后,只有用id 用户名 查询用户指令查询用户,才可以看到组的变化

其它组

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

2. 权限管理

Linux 文件类型

  • -:普通类型
  • d:目录
  • l:软连接
  • c:字符设备【键盘、鼠标等】
  • b:块文件【硬盘】

权限的基本介绍

使用 ll 指令,查看root下的test.txt 的相关信息如下

-rw-r--r--. 1 ewen person    2224 5月  13 10:59 test.txt
  • ‘ - ’ :第一个字符确定文件类型
  • rw- :代表所有者的权限
  • r-- :代表所属组中的其他用户的权限
  • r–:代表其他组中的用户权限
  • 1 :如果是文件,表示硬连接的数;如果是目录则表示该目录的子目录个数
  • ewen :代表文件的所有者
  • person :代表文件所在组,一般是所有者的所属组,也有可能不是
  • 2224 :文件的大小,如果是目录,则统一为4096
  • 5月 13 10:59 : 文件最后一次修改的时间
  • test.txt :文件名
    注意:
    1)每个权限占3位,如果只有一个权限,则有两个–,有两个权限,就有一个-,有三个权限,就没有-了。
    2)在/home 目录下,用ll指令获得的信息中,如果目录是一个用户的家目录,代表所属组的那一项不一定是用户的所属组,如果想查看所属组的话,用 id + 用户名 查看,如果是文件的话,那么一定是文件所属组。

rwx 权限详解

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

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

修改权限(chmod)

  1. 使用+、-、= 变更权限

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

  • chmod u=rwx,g=rx,o=x 文件目录名 给所有者读写执行权限,给所在组的其他用户读和执行权限,给其他人执行权限
  • chmod o+w 文件目录名 给其他人加上写权限
  • chmod a-x 文件目录名 给所有人取消读权限

应用举例

  • 给 test.java文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
    chmod u=rwx,g=rx,o=rx test.java
  • 给 test.java 文件的所有者除去执行的权限,给所在组的其他用户增加组写的权限
    chmod u-x,g+w test.java
  • 给 abc 文件的所有用户添加读的权限
    chmod a+r test.java
  1. 通过数字变更权限
  • 规则:r = 4 、w = 2、 x = 1 rwx = 4 + 2 + 1 = 7
    chmod u = rwx , g = rx, o = x 文件目录名 相当于chmod 751 文件目录名
  • 案例演示
    将 test.java 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现
    chmod 755 test.java

如果想同时改变目录下的所有子目录的权限,只需加-R选项

chmod -R 770 test  test 及test 的所有子目录的权限都改为770(rwxrwx---)
原创文章 24 获赞 104 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43691723/article/details/106114503