我对 Linux 世界完全陌生。如果我创建一个新用户,默认情况下它是否具有自己的主目录的读写权限?
从逻辑上讲,应该是这样,但我不确定。
答案1
创建新用户意味着只需向相关“数据库”添加新条目。在最基本的(例如家庭)设置中,“数据库”只是/etc/passwd
文件中的文本。看man 5 passwd
。
可以手动添加条目,相对安全的方法是sudo vipw
。 “相对”,因为你真的不应该手动执行此操作,特别是如果你是“Linux 世界的新手”。但这仍然是完全可能的。
简单地向文件添加条目不会创建主目录,不会更改现有目录,也不会更改其模式(权限)或所有权。可以指定一个不存在的目录。在我的 Debian 中,有一个具有主目录nobody
的用户。/noexistent
该路径不存在。我(具有root权限)仍然可以启动一个进程nobody
,因为用户是有效的。
想要交互式登录的“真实”用户几乎总是需要并且希望各自的主目录具有读写权限。你的直觉是非常正确的:通常他们应该拥有它们。
基本上,管理员的工作就是创建适用于操作系统及其用户的设置。
这里有一些程序可以自动执行创建用户的任务,至少在某种程度上是这样。例如,在 Debian 中有adduser
.它可以创建一个新用户,为用户创建一个主目录,将骨架文件复制到该目录,设置合理的所有权和权限。桌面环境(如果有)可以提供一种通过 GUI(图形用户界面,即不在文本控制台中)添加用户并设置其他内容的方法。如果可用,此类专门的程序或功能通常是添加新用户的正确方法。一般来说,可能有一些方法可以配置程序来跳过某些步骤,但默认配置应该不会让您感到太惊讶。
总结一下:
如果我创建一个新用户,默认情况下它是否具有自己的主目录的读写权限?
- 一般来说,默认情况下 – 不,不一定,也许是偶然的(例如,如果您指定一个每个人都可读可写的目录)或者如果你(管理员)处理这个问题。
- 在常见的发行版中,通过使用旨在管理用户并重新创建主目录的用户友好工具 - 是的(除非明确(错过)配置)。