如何在 Linux 上为用户名创建别名?

如何在 Linux 上为用户名创建别名?

例如,如何将系统设置为 john.smith 和 jsmith 作为同义词?

更新:原因是我希望用户在系统中注册为 jsmith,并且拥有[电子邮件保护]电子邮件地址。

答案1

你不能,绝对不能。并非所有的身份验证机制都允许这样做,无论是原生的还是被黑客入侵的。

如果你不介意它电子邮件别名,然后只需添加一行/etc/aliases并重建别名数据库。

答案2

添加john.smith用户/etc/passwd并设置相同的home和UID。

答案3

您要找的是电子邮件别名,而不是用户名的别名。Linux 中的每个用户都有且只有一个名称。但是,设置电子邮件服务器是完全不同的事情。您可以根据需要设置任意数量的电子邮件帐户,并为这些帐户设置任意数量的别名。具体操作取决于您的电子邮件软件包。

答案4

如果你真的想这么做。请记住,它不是原生支持的,也不是受支持的功能。

这是我的建议:

创建一个新用户并将他的 $HOME 设置为指向同一目录,然后使用 acl 使他成为该文件夹的所有者。

类似这样的内容:

假设 user1 存在并且 userAlias 是我正在创建的新用户。

sudo useradd userAlias sudo setfacl -mu:userAlias:rwx -R /home/user1

因此现在 userAlias 可以在 user1 的 $HOME 中创建文件。这不是一个完美的解决方案……您可能必须运行 cron 来修复权限(即确保所有文件都具有用户和 userAlias 作为用户)。

您仍然需要注意密码不同步的问题和其他愚蠢的问题......但从理论上讲,通过一些丑陋的黑客攻击这是可行的。

注意:facl 并非在所有发行版和所有内核中都是标准的。它已在 Linux 内核中得到支持多年……但长期以来一直被忽视。

相关内容