0
点赞
收藏
分享

微信扫一扫

【知识】Linux用户组权限设置



如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~

目录

背景知识:Linux下的权限介绍

1. 权限的类型

2. 权限的主体

3. 权限的表示

4. 设置权限的命令

5. 特殊权限

6. ACL(访问控制列表)

用户组权限设置示例

用户组设置

用户组中添加用户

用户组中删除用户

背景知识:Linux下的权限介绍

在Linux系统中,文件和目录的权限是非常重要的概念,它们决定了哪些用户可以对文件或目录执行哪些操作。

【知识】Linux用户组权限设置_服务器

【知识】Linux用户组权限设置_服务器_02

【知识】Linux用户组权限设置_文件_03

1. 权限的类型

Linux系统中的每个文件和目录都有三种类型的权限:

  • 读(Read):用字母r表示,允许用户读取文件内容或查看目录中的文件列表。
  • 写(Write):用字母w表示,允许用户修改文件内容或在目录中创建、删除、重命名文件。
  • 执行(Execute):用字母x表示,允许用户执行文件(对于可执行文件)或进入目录(对于目录)。

2. 权限的主体

Linux系统中的权限分为三组主体:

  • 所有者(Owner):文件的创建者,默认拥有该文件的所有权限。
  • 组(Group):文件所属的用户组,组内的用户共享这些权限。
  • 其他(Others):系统中除了文件所有者和组内用户之外的所有用户。

3. 权限的表示

权限通常以三组字符表示,每组包含三个字符,分别对应所有者、组和其他用户的权限。例如,rwxr-xr--表示:

  • rwx:所有者有读、写、执行权限。
  • r-x:组有读、执行权限,没有写权限。
  • r--:其他用户只有读权限。

4. 设置权限的命令

  • chmod:改变文件或目录的权限。
  • 例如:chmod 755 filename 会给所有者全部权限,给组和其他用户读和执行权限。
  • 使用符号模式:chmod u+x filename 给所有者增加执行权限。
  • chown:改变文件或目录的所有者。
  • 例如:chown username:groupname filename 将文件的所有者改为username,组改为groupname
  • chgrp:改变文件或目录的组。
  • 例如:chgrp groupname filename 将文件的组改为groupname

5. 特殊权限

  • 粘滞位(Sticky Bit):对于目录,如果设置了粘滞位(t),则只有文件所有者、目录所有者和root用户可以删除或重命名目录中的文件。
  • 设置粘滞位:chmod +t dirname
  • 集群(SetGID):对于目录,如果设置了集群位(s),则在该目录下创建的新文件和目录会自动继承父目录的组。
  • 设置集群位:chmod g+s dirname
  • 集群用户(SetUID):对于可执行文件,如果设置了集群用户位(s),则文件将以文件所有者的权限执行,而不是执行者自己的权限。
  • 设置集群用户位:chmod u+s filename

6. ACL(访问控制列表)

ACL提供了更细粒度的权限控制,允许你为单个用户或用户组设置特定的权限,而不仅仅是所有者、组和其他用户。

  • 查看ACL:getfacl filename
  • 设置ACL:setfacl -m u:username:rwx filename

理解这些基本的权限概念和命令对于管理Linux系统和确保系统安全至关重要。

用户组权限设置示例

用户组设置

在Ubuntu系统中,你可以使用groupadd命令来创建一个新的用户组,然后使用chmodchown命令来设置目录的权限所有权,使得新创建的用户组可以访问和执行目录中的文件。

1、创建用户组: 打开终端,输入以下命令来创建一个新的用户组gp

sudo groupadd gp

2、设置目录所有权: 使用chown命令来改变/home/user/Desktop目录的所有权,将其设置为用户组gp所拥有

sudo chown :gp /home/user/Desktop

如果/home/user/Desktop目录中已经存在文件,你可能还需要改变这些文件的所有权,使用“-R”,使其属于用户组gp

sudo chown -R :gp /home/user/Desktop/*

3、直接设置目录权限(用户,可选): 使用chmod命令来设置目录的权限,使得只有用户组gp可以执行和读写该目录,而其他用户无法访问

sudo chmod 750 /home/user/Desktop

注意这里设置了完整的“用户、用户组、其他”三者的权限。这里的750权限设置表示:目录所有者可读可写可执行用户组gp可读可执行其他用户和用户组无任何权限

4、单独设置目录权限(用户组): 使用chmod命令来设置/home/user/Desktop目录的权限,使得用户组gp可以访问和执行该目录下的文件。这里我们使用g+rx来给予用户组读和执行的权限

sudo chmod g+rx /home/user/Desktop

如果你希望目录中的文件也被用户组gp访问执行,使用“-R”,可以递归地设置这些文件的权限:

sudo chmod -R g+rx /home/user/Desktop/*

注意这里是单独设置“用户组”的权限。

用户组中添加用户

要将某个用户添加到已存在的用户组gp,你可以使用usermod命令

1、确定要添加的用户: 首先,你需要知道要添加到用户组gp用户名。假设用户名为username

2、使用usermod命令添加用户到组: 打开终端,输入以下命令将用户username添加到用户组gp

sudo usermod -a -G gp username

这里,-a选项表示追加用户到指定的组,-G选项后面跟的是用户组名,username是你想要添加到组的用户名称。

3、验证用户是否已添加到组: 你可以使用groups命令来检查用户是否已经被成功添加到用户组gp

groups username

这个命令会列出用户所属的所有组,如果gp出现在列表中,说明用户已被成功添加到该组。

4、重新登录或重启: 为了让用户组的变更立即生效,用户需要重新登录或者重启系统。这样,用户的新组权限才会被系统识别。

用户组中删除用户

要从用户组中删除用户,你可以使用gpasswd命令的-d选项。以下是具体的步骤:

1、确定要移除的用户和用户组: 首先,你需要知道要移除的用户名和用户组名。假设用户名为username,用户组名为gp

2、使用gpasswd命令从组中移除用户: 打开终端,输入以下命令将用户username从用户组gp中移除:

sudo gpasswd -d username gp

这里,-d选项表示从组中删除用户,username是你要移除的用户名称,gp是用户组名称。

3、验证用户是否已从组中移除: 你可以使用groups命令来检查用户是否已经被成功从用户组gp中移除:

groups username

这个命令会列出用户所属的所有组,如果gp不再出现在列表中,说明用户已经被成功从该组移除。

请注意,这些命令需要root权限,因此你需要在命令前加上sudo。同时,确保你了解每个命令的作用,以免不小心改变了重要的系统文件的权限。在执行这些操作之前,最好备份重要数据以防万一。

举报

相关推荐

0 条评论