如何更改用户';Phabricator中的电子邮件地址

如何更改用户';Phabricator中的电子邮件地址,phabricator,Phabricator,我已经设置了phabricator并添加了几个用户。我注意到我可以更改用户的真实姓名或用户名,但我无法更改他们的电子邮件地址。有什么原因不向管理员公开吗?是否有允许管理员更改电子邮件地址的服务器设置。管理员无法更改电子邮件地址,因为这将允许他们将用户的电子邮件地址更改为自己的电子邮件地址,重置用户密码,然后以用户身份登录。在Phabricator的权限模型中,管理员不是万能的,并且不能破坏帐户、充当其他用户或违反策略 如果由于创建新帐户时出错而需要更改地址,则可以删除该帐户并重新创建。您需要更新

我已经设置了phabricator并添加了几个用户。我注意到我可以更改用户的真实姓名或用户名,但我无法更改他们的电子邮件地址。有什么原因不向管理员公开吗?是否有允许管理员更改电子邮件地址的服务器设置。

管理员无法更改电子邮件地址,因为这将允许他们将用户的电子邮件地址更改为自己的电子邮件地址,重置用户密码,然后以用户身份登录。在Phabricator的权限模型中,管理员不是万能的,并且不能破坏帐户、充当其他用户或违反策略


如果由于创建新帐户时出错而需要更改地址,则可以删除该帐户并重新创建。

您需要更新mysql数据库。在phabricator_用户数据库中,更改用户电子邮件表中的电子邮件地址。管理员可能不是万能的,但DBA是。

这可能是新的,但他们现在有办法了。我会把它列在这里,以防以后有人有同样的问题


登录到安装Phabricator的服务器,然后使用
/bin/accountadmin
。这将允许您随意更改或添加帐户。如果您只想查看用户,您可以查看
phabricator\u user
数据库,检查
user
表或
user\u profile
表。

正如bridiver所写,您需要直接在数据库中更改地址。为此,可以使用helper Phabricator脚本连接到数据库:

$ phabricator/bin/storage shell
[...]

mysql> use phabricator_user;
Database changed
mysql> update user_email set address='newaddress@example.com' where address='oldaddress@example.com';
Query OK, 1 row affected (0.05 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> quit

我们至少应该能够查看电子邮件地址,以便我们可以验证是否输入了正确的地址,否?不幸的是,accountadmin不允许您更改现有用户的电子邮件。不过,我昨天已经这样做了。更改用户时,我必须重新输入所有帐户信息,因此创建和更改用户时我的输入是相同的。请注意,
accountadmin
不允许您更改用户的电子邮件地址(如上所述),但允许您更改与该用户相关的一些其他信息(例如他们的密码、真实姓名、是否是机器人或管理员等)