在我的设置中,我需要将 Linux 系统用户重命名为 man 和 bin,因为我需要人类的用户名。我使用的是 Ubuntu 12.04。我知道我必须更改/etc/passwd
、/etc/shadow
等。但是当通过 apt 更新时,软件包使用 man 用户作为其手册页,并且这些文件将具有错误的所有权。
Ubuntu 中是否有配置选项可以设置手动用户的调用方式?
与 bin 用户相同:我不知道它何时使用,但我认为更改其名称会弄乱一些东西。
答案1
我看了一下POSIX 文档期望找到保留用户名的列表,但令人惊讶的是标准中不存在这样的列表(甚至不存在root
!)。
但是,我认为您应该将系统上 UID 小于 1000 的所有用户名视为保留名称。这种变化虽然有可能,但可能会导致很难追踪的问题。您甚至可能会发现自己处于这样的情况:在安装或升级软件包后,您的用户最终拥有系统的某些部分。
答案2
据我了解,您正在寻找的是重命名用户的命令。尝试这个:
sudo usermod -l <newlogin> <oldlogin>
但我同意其他人的观点,这听起来是个坏主意。
答案3
不支持重命名系统用户。您必须查找使用用户名的所有位置,并且由于不支持重命名系统用户,因此这可能涉及更改某些系统二进制文件。它可能涉及更改您将来可能安装或升级的软件包的安装脚本。
我相信Ubuntu根本不使用用户bin
,只是为了历史兼容性而留下的。用户man
拥有手册页的缓存。你可能重命名它们就可以了,但是如果你尝试这样做,当你的系统崩溃时不要感到惊讶。
不幸的是,没有为系统保留的可移植用户名列表。确保避免冲突的一种相当常见的方法是为人类用户分配包含数字的用户名。此策略还提供了一种方法来消除具有相同首字母或以相同几个字母开头的名字或姓氏的人之间的歧义。例如,Barbara Iphygenia Norris 可能是,bin19
而 Benjamin Ignacio Nesbitt 可能是bin75
。