我正在尝试在我的新 VPS(Debian 6)中创建一个用户“邮件”,以便我可以使用电子邮件地址 mail@mydomain,但我收到了错误
useradd: user 'mail' already exists
实际上,/etc/passwd 包含以下行
mail:x:8:8:mail:/var/mail:/bin/sh
我可以设置密码并登录并使用我的个人电子邮件吗?
答案1
因为“邮件”是指系统上的服务器应用程序,并且已经作为邮件系统的一个组件存在于系统中,所以我强烈建议不要使用它。即使您要为收到的邮件设置别名,也会给您的设置带来不必要的复杂性。
使用您的实际用户名,或选择其他名称(如“电子邮件”或“联系人”)并改用该名称。否则,您以后会遇到麻烦。
答案2
如果您想接收发往 mail@yourdomain 的电子邮件,那么您只需要告诉您的电子邮件系统将其发送到您的邮箱,而不是用户“邮件”的邮箱
大多数 MTA 都允许您毫不费力地将邮箱名称映射为不同的用户名 - 事实上,这在每个 MTA 上都是可能的,但在某些 MTA 上很难做到。此外,几乎每个 MTA(和 MDA)都提供了将电子邮件转发到不同邮箱的机制。
但是您没有提供部署 MTA 和 MDA 的详细信息。
我可以设置密码并登录并使用我的个人电子邮件吗?
这不是解决问题的方法。服务器进程使用离散 uid 运行,原因很简单 - 权限分离 - 并且用于运行服务器进程的帐户绝不能用于其他目的。
答案3
如果有人对这个话题感兴趣,我已经在 Debian 中找到了一种方法,在我看来,这种方法非常优雅。由于帐户在内部由 UID 引用,因此名称在某种意义上只是别名。就像root
总是有 UID 0 一样,mail
通常有 UID 8(我们不需要知道实际的 UID)。我们可以这样更改 UID 为 8 的用户帐户的名称:
usermod -l smail mail
总而言之,类似这样的事情是有效的:
usermod -l smail mail
groupmod -n smail mail
groupadd mail
useradd -m -s /bin/bash -g mail -c 'Your Name' mail
(同样,在 Debian 中,/etc/default/useradd
应该取消该行的注释# CREATE_MAIL_SPOOL=yes
。)
如果我发现了一些疯狂的意外行为,我会更新这篇旧帖子。干杯!
附注:一般来说,无需手动操作:只需省略选项groupadd user
即可。但是,这会导致错误。事实上,名称/别名有一些特殊之处,所以……如果您想尝试这个,请小心!useradd user
-g
mail