在靠近用户的地方部署容器
本工程教育(EngEd)计划由科支持。
在全球范围内即时部署容器。Section是经济实惠、简单而强大的。
免费开始吧。
Linux中的用户组和权限
2021年4月8日
从智能手机到汽车、超级计算机和家用电器、家用台式机到企业服务器,Linux操作系统无处不在。
简介
为了在Linux中创建一个安全的环境,你需要了解用户组和权限。例如,如果你在一家公司工作,你想让财务部门阅读一个文件,但不能对其进行任何修改,那么你就需要在Linux中使用权限。这是现在每个使用Linux的程序员的必修课。
前提条件
要跟上本教程,你应该具备以下条件。
- 熟悉Linux操作系统。
目录
文件权限
让我们先来谈谈Linux文件的所有权问题。
- 用户:文件的所有者(创建文件的人)。
- 组:该组可以包含多个用户。因此,该组中的所有用户将拥有相同的权限。这使得事情比为每个用户分配权限更容易。
- 其他:任何人都可以访问该文件,这个人既没有创建该文件,也不在任何可以访问该文件的组中。
当你执行以下命令时。
ls -l
然后你会看到该文件的权限,就像下面这样。

我们将使用这部分"-rw-r-r-"。
这些字符意味着。
- r'=读。
- 'w'=写。
- 'x'=执行。
- '-' = 没有权限。

正如我们在上面看到的,空的第一部分意味着它是一个文件。如果它是一个目录,那么它将是字母 "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

那么权限将是:-rwxrwxrwx.
让我们从组中删除执行,从其他组中删除写。
chmod 765 section.txt
权限将是:-rwxrw-r-x.
用户账户
创建一个用户
我们可以通过发出以下命令来创建一个新的用户账户。
sudo useradd testuser
我们可以通过两种方式确定用户已经被创建。
id testuser.
而输出结果将是这样的。
uid=1007(testuser) gid=1009(testuser) groups=1009(testuser)
这将显示用户ID和用户目前所在的组,通常,一个新的具有相同用户名的组被分配给用户。
- 通过打开以下文件:
/etc/passwd。
因此,我们可以发出cat /etc/passwd ,我们将看到已经创建的新用户。
使用上面的命令创建用户后,你注意到在/home目录内没有创建用户目录,这不是好事,因为用户不能登录他的帐户。
为了创建一个新的用户和它的目录,我们可以发出。
sudo useradd -m -s /bin/bash testuser
如果你导航到/home目录,你会注意到一个名称为testuser的新目录被创建。
之后,你需要给testuser设置一个新的密码,由。
sudo passwd testuser
我们注意到,创建一个新用户需要很多命令来完成,所以有一个命令可以自动完成所有的工作。
sudo adduser testuser
在创建一个新用户并为其设置密码后,你可以通过两种方式登录。
- 通过GUI。
- 通过终端:
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是最安全的系统之一,因为它允许管理员在同一个硬件中创建具有不同权限的多个用户。
现在你知道到底该怎么做了!✨
学习愉快。
进一步阅读
同行评审投稿人:。Odhiambo Paul