![如何在 Linux 上为用户名创建别名?](https://linux22.com/image/518331/%E5%A6%82%E4%BD%95%E5%9C%A8%20Linux%20%E4%B8%8A%E4%B8%BA%E7%94%A8%E6%88%B7%E5%90%8D%E5%88%9B%E5%BB%BA%E5%88%AB%E5%90%8D%EF%BC%9F.png)
例如,如何将系统设置为 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 内核中得到支持多年……但长期以来一直被忽视。