Linux中的用户组和权限

112 阅读5分钟

在靠近用户的地方部署容器

本工程教育(EngEd)计划由科支持。

在全球范围内即时部署容器。Section是经济实惠、简单而强大的。

免费开始吧。

Linux中的用户组和权限

2021年4月8日

从智能手机到汽车、超级计算机和家用电器、家用台式机到企业服务器,Linux操作系统无处不在。

简介

为了在Linux中创建一个安全的环境,你需要了解用户组和权限。例如,如果你在一家公司工作,你想让财务部门阅读一个文件,但不能对其进行任何修改,那么你就需要在Linux中使用权限。这是现在每个使用Linux的程序员的必修课。

前提条件

要跟上本教程,你应该具备以下条件。

  • 熟悉Linux操作系统。

目录

文件权限

让我们先来谈谈Linux文件的所有权问题。

  1. 用户:文件的所有者(创建文件的人)。
  2. 组:该组可以包含多个用户。因此,该组中的所有用户将拥有相同的权限。这使得事情比为每个用户分配权限更容易。
  3. 其他:任何人都可以访问该文件,这个人既没有创建该文件,也不在任何可以访问该文件的组中。

当你执行以下命令时。

ls -l

然后你会看到该文件的权限,就像下面这样。

Permissions Example

我们将使用这部分"-rw-r-r-"。

这些字符意味着。

  • r'=读。
  • 'w'=写。
  • 'x'=执行。
  • '-' = 没有权限。

Explain permissions

正如我们在上面看到的,空的第一部分意味着它是一个文件。如果它是一个目录,那么它将是字母 "d "代替。第二部分意味着用户 "Home "有读取和写入的权限,但他没有执行的权限。组和其他人只有读取权限。

让我们用chmod 命令来改变权限。

chmod o+w section.txt

这个命令将为我的文本文件 "section.txt "增加其他用户的写入权限。

现在如果你试图执行ls -l ,那么你会看到-rw-r--rw-

"o "指其他人,"g "指组,"u "指用户,"a "指所有。

现在让我们把执行权限加到用户身上。

chmod u+x section.txt

权限将是-rwxr--rw-

如果你想删除权限, 你可以使用同样的方法, 但要用"-"而不是 "+"。例如, 让我们通过以下方式删除用户的执行权限:

chmod u-x section.txt

而现在的权限是:-rw-r--rw-.

另外, 你还可以使用符号模式来修改权限, 如下面这样。

编号权限
0没有权限
1执行
2写入
3执行和写入
4读取
5读取并执行
6读和写
7读取、写入和执行

例如,让我们给所有的权限。

chmod 777 section.txt

Symbolic Mode Example

那么权限将是:-rwxrwxrwx.

让我们从组中删除执行,从其他组中删除写。

chmod 765 section.txt

权限将是:-rwxrw-r-x.

用户账户

创建一个用户

我们可以通过发出以下命令来创建一个新的用户账户。

sudo useradd testuser

我们可以通过两种方式确定用户已经被创建。

  1. id testuser.

而输出结果将是这样的。

uid=1007(testuser) gid=1009(testuser) groups=1009(testuser) 

这将显示用户ID和用户目前所在的组,通常,一个新的具有相同用户名的组被分配给用户。

  1. 通过打开以下文件:/etc/passwd

因此,我们可以发出cat /etc/passwd ,我们将看到已经创建的新用户。

使用上面的命令创建用户后,你注意到在/home目录内没有创建用户目录,这不是好事,因为用户不能登录他的帐户。

为了创建一个新的用户和它的目录,我们可以发出。

sudo useradd -m -s /bin/bash testuser

如果你导航到/home目录,你会注意到一个名称为testuser的新目录被创建。

之后,你需要给testuser设置一个新的密码,由。

sudo passwd testuser

我们注意到,创建一个新用户需要很多命令来完成,所以有一个命令可以自动完成所有的工作。

sudo adduser testuser

在创建一个新用户并为其设置密码后,你可以通过两种方式登录。

  1. 通过GUI。
  2. 通过终端:su - testuser

删除一个用户

和添加用户的过程一样,有两个命令可以删除一个用户。

sudo userdel testuser

如果你尝试这个命令,你会发现用户目录没有被删除,你需要自己删除它。

你可以使用这个自动命令来为你做一切事情。

sudo deluser --remove-home testuser

用户组

一个组是一个用户的集合。组的主要目的是定义一组权限,如某一资源的读、写或执行权限,可以在组内的用户之间共享。

创建一个组

你可以通过打开以下文件看到你拥有的所有组。

cat /etc/group

让我们创建一个组,名称为sectionby。

sudo groupadd section

添加用户到一个组

我们将通过以下方式把testuser用户添加到section组中。

sudo usermod -aG section testuser

从一个组中删除用户

你可以通过以下方式从组中删除testuser。

sudo gpasswd -d testuser section

删除一个组

让我们通过以下方式删除以前的组。

sudo groupdel section

结论

Linux是最安全的系统之一,因为它允许管理员在同一个硬件中创建具有不同权限的多个用户。

现在你知道到底该怎么做了!✨

学习愉快。

进一步阅读

  1. www.linux.org/forums/#lin…
  2. mason.gmu.edu/~montecin/U…
  3. ss64.com/bash/chmod.…

同行评审投稿人:。Odhiambo Paul