用户、组及其它 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智能体上车元年...
界面新闻记者 |周姝祺 4月下旬的北京车展,火山引擎副总裁杨立伟的...
2026-05-06 06:53:04
Fedora 44 正式发...
Fedora Linux 44 已正式发布,提供多种格式,支持多个...
2026-05-06 06:51:13
苹果macOS 26.5开...
IT之家 4 月 21 日消息,苹果今日向 Mac 电脑用户推送了...
2026-05-06 06:51:07
Google正式推出面向m...
谷歌近日正式发布了面向macOS平台的Gemini原生应用程序,用...
2026-04-18 11:13:16
AI剧月增26%,门槛下放...
文|DataEye研究院 2026年微短剧赛道内卷加剧,“AI编...
2026-04-11 22:54:05
AI大消息!五部门联合发布...
4月10日,国家网信办、国家发展改革委、工业和信息化部、公安部、市...
2026-04-10 22:38:18

热门资讯

PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...