Linux中用户和权限管理详解

管理员
2023-04-14 / 0 评论 / 14 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年04月16日,已超过314天没有更新,若内容或图片失效,请留言反馈。

在Linux系统中,用户和权限管理是非常重要的,因为它可以确保只有授权的用户才能访问系统的资源和文件。下面是有关Linux用户和权限管理的详细说明:

一、用户管理
1.添加用户
添加用户的命令为:useradd。它有很多选项,下面是一些常用的:
-m:自动创建用户主目录;
-g:指定用户的初始登录组;
-s:指定用户登录时使用的Shell。
例如,要创建一个名为“bob”的用户并将其添加到组“users”中,可以执行以下命令:

sudo useradd -m -g users -s /bin/bash bob

2.删除用户
要删除用户,可以使用userdel命令。例如,要删除“bob”用户及其主目录,可以执行以下命令:

sudo userdel -r bob

3.修改用户
要修改用户的属性,可以使用usermod命令。例如,要将“bob”用户的主目录更改为“/home/bob2”,可以执行以下命令:

sudo usermod -d /home/bob2 bob

4.列出用户
要列出系统中的所有用户,可以使用cat命令查看/etc/passwd文件,该文件包含系统上的所有用户信息。例如,要列出所有用户的用户名和默认Shell,可以执行以下命令:

cat /etc/passwd | cut -d: -f1,7

二、权限管理
1.Linux权限
Linux系统中有三种类型的权限:读取(r)、写入(w)和执行(x)。这些权限可以应用于三个实体:所有者(owner)、组(group)和其他人(others)。这些实体中的每个人都可以拥有三个权限中的任意组合。
也可以使用数字来设置权限:如777,775.755,644等
如:755
第一个7表示所有者权限为7,分别是 读取4、写入2、执行1
第二个5表示组权限为5,分别是 读取4、写入0、执行1
第三个5表示匿名权限为5,分别是 读取4、写入0、执行1

注:非必要情况请勿将组和匿名权限设置为7

例如将如下文件权限设置为所有者可读写执行,组可以读执行,匿名可读

chmod 754 file.txt

2.更改权限
要更改文件或目录的权限,可以使用chmod命令。例如,要将文件“file.txt”的所有者权限设置为只读,可以执行以下命令:

chmod u=r file.txt

其中,u表示所有者,=表示设置权限,r表示只读权限。

3.更改所有者和组
要更改文件或目录的所有者和组,可以使用chown和chgrp命令。例如,要将文件“file.txt”的所有者更改为用户“bob”,并将其组更改为组“users”,可以执行以下命令:

sudo chown bob:users file.txt

4.SUID、SGID和SBIT
除了常规的文件权限之外,Linux系统还支持一些特殊权限标志,例如SUID、SGID和SBIT。这些标志可以设置在文件或目录上,以提供额外的安全性或功能。

SUID:如果将SUID标志设置在可执行文件上,则该文件在执行时将使用其所有者的权限。例如,如果用户“bob”在一个可执行文件中设置了SUID标志,则当其他用户执行该文件时,它将具有与“bob”用户相同的权限。例如,要将文件“file.txt”设置为SUID标志,可以执行以下命令:

chmod u+s file.txt

SGID:如果将SGID标志设置在目录上,则新创建的文件将继承该目录的组所有权。例如,如果将SGID标志设置在目录“/data”上,并且用户“bob”创建了一个新文件,则该文件的组所有权将设置为“/data”的组。例如,要将目录“/data”设置为SGID标志,可以执行以下命令:

chmod g+s /data

SBIT:如果将SBIT标志设置在目录上,则只有文件所有者才能删除该文件。例如,要将目录“/data”设置为SBIT标志,可以执行以下命令:

chmod +t /data

5.ACL(访问控制列表)
ACL是一种高级的权限管理机制,可以使用户或组具有对文件或目录的特定访问权限。要添加或修改ACL,可以使用setfacl命令。例如,要为文件“file.txt”添加一个名为“jane”的用户组的读取和写入权限,可以执行以下命令:

setfacl -m g:jane:rw file.txt

以上是有关Linux用户和权限管理的详细说明,它们在维护Linux系统的安全性和可靠性方面起着重要作用。

0

打赏

评论 (0)

取消