用户、组及其它 Linux 特性(二)
创始人
2024-03-02 01:34:41
0

我们继续创建和管理用户和组的 Linux 教程之旅。

在正在进行的 Linux 之旅中,我们了解了如何操作文件夹或目录,现在我们继续讨论 权限、用户 和 组,这对于确定谁可以操作哪些文件和目录是必要的。上次,我们展示了如何创建新用户,现在我们将重新起航:

你可以使用 groupadd 命令创建新组,然后随意添加用户。例如,使用:

sudo groupadd photos

这将会创建 photos 组。

你需要在根目录下创建一个目录

sudo mkdir /photos

如果你运行 ls -l /,结果中会有如下这一行:

drwxr-xr-x 1 root root 0 jun 26 21:14 photos

输出中的第一个 root 是所属的用户,第二个 root 是所属的组。

要将 /photos 目录的所有权转移到 photos 组,使用:

chgrp photos /photos

chgrp 命令通常采用两个参数,第一个参数是将要获得文件或目录所有权的组,第二个参数是希望交给组的文件或目录。

接着,运行 ls -l /,你会发现刚才那一行变了:

drwxr-xr-x 1 root photos 0 jun 26 21:14 photos

你已成功将新目录的所有权转移到了 photos 组。

然后,将你自己的用户和 guest 用户添加到 photos 组:

sudo usermod <你的用户名> -a -G photos
sudo usermod guest -a -G photos

你可能必须注销并重新登录才能看到更改,但是当你这样做时,运行 groups 会将 photos 显示为你所属的组之一。

关于上面提到的 usermod 命令,需要指明几点。第一:注意要使用 -G 选项而不是 -g 选项。-g 选项更改你的主要组,如果你意外地使用它,它可能会锁定你的一些东西。另一方面,-G 将你添加到列出的组中,并没有干扰主要组。如果要将用户添加到多个组中,在 -G 之后逐个列出它们,用逗号分隔,不要有空格:

sudo usermod  -a -G photos,pizza,spaceforce

第二点:小心点不要忘记 -a 参数。-a 参数代表追加,将你传递给 -G 的组列表附加到你已经属于的组。这意味着,如果你不包含 -a,那么你之前所属的组列表将被覆盖,再次将你拒之门外。

这些都不是灾难性问题,但这意味着你必须手动将用户添加回你所属的所有组,这可能是个麻烦,特别是如果你失去了对 sudowheel 组的访问权限。

权限

在将图像复制到 /photos 目录之前,还要做一件事情。注意,当你执行上面的 ls -l / 时,该文件夹的权限将以 drwxr-xr-x 形式返回。

如果你阅读我在本文开头推荐的文章,你将知道第一个 d 表示文件系统中的条目是一个目录,接着你有三组三个字符(rwxr-xr-x),它们表示目录的所属用户(rwx)的权限,然后是所属组(r-x)的权限,最后是其他用户(r-x)的权限。这意味着到目前为止唯一具有写权限的人,即能够在 /photos 目录中复制或创建文件的唯一人员是 root 用户。

但是我提到的那篇文章也告诉你如何更改目录或文件的权限

sudo chmod g+w /photos

运行 ls -l /,你会看到 /photos 权限变为了 drwxrwxr-x。这就是你希望的:组成员现在可以对目录进行写操作了。

现在你可以尝试将图像或任何其他文件复制到目录中,它应该没有问题:

cp image.jpg /photos

guest 用户也可以从目录中读取和写入。他们也可以读取和写入,甚至移动或删除共享目录中其他用户创建的文件。

总结

Linux 中的权限和特权系统已经磨练了几十年,它继承自昔日的旧 Unix 系统。就其本身而言,它工作的非常好,而且经过了深思熟虑。熟悉它对于任何 Linux 系统管理员都是必不可少的。事实上,除非你理解它,否则你根本就无法做很多事情。但是,这并不难。

下一次,我们将深入研究文件,并以一个创新的方式查看创建,操作和销毁文件的不同方法。最后一个总是很有趣。

回头见!

通过 Linux 基金会和 edX 的免费“Linux 简介”课程了解有关 Linux 的更多信息。


via: https://www.linux.com/blog/learn/intro-to-linux/2018/7/users-groups-and-other-linux-beasts-part-2

作者:Paul Brown 选题:lujun9972 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

告别空谈AI:荣耀三叶草战...
在人工智能浪潮席卷全球的当下,科技企业纷纷踏上 AI 发展之路。荣...
2025-07-07 20:44:07
580天暗战,爱奇艺的AI...
文|深响 今年4月,在北京的一场影视行业论坛上,爱奇艺基础架构与...
2025-07-07 20:14:21
智能门锁预算3500元+用...
快科技7月5日消息,随着物联网与人工智能技术的迭代,智能门锁市场渗...
2025-07-05 21:13:22
平安好医生入选首批“开源大...
7月3日,由全球数字经济大会组委会主办,中国信息通信研究院(以下简...
2025-07-03 21:41:09
阿里与荣耀进一步深化AI生...
央广网北京7月3日消息(记者 冀文超)7月2日,荣耀全新年度折叠旗...
2025-07-03 17:12:53
画到哪,动到哪!字节跳动发...
Angtian Wang 是字节跳动的研究员,研究方向包括视频生成...
2025-07-03 13:13:17

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...