我使用简单的服务器为人们托管一些网站。我买不起 cpanel 之类的好东西,也不想在 webmin 之类的巨大的 perl 块上浪费内存。我想知道是否有人编写了脚本,以便我的用户可以更改密码。我尝试谷歌搜索,但找不到太多信息。
应该有人想出点办法。如果它要求输入当前密码就好了。
是的,用户有 shell 访问权限,知道如何遵循指示,以及如何输入。
答案1
不可以。你不应该这么做。这是一个很大的安全漏洞。即使是 cPanel 也不允许您这样更改用户密码。您需要先输入旧密码。
为什么人们需要经常更改他们的 mysql 密码?
答案2
当您允许用户重置自己的密码或向 MySQL 服务器添加新用户时,会出现一个很大的安全问题 - 这需要 MySQL 根访问权限 - 当然可以通过 mysql 命令(mysql -u root -p)进行访问,但您不想给用户这样的东西。
但是您可以有一个 bash 脚本(或 ruby/python/php )脚本,以 root 用户身份运行以添加新用户或修改现有 MySQL 用户的密码。
如果这些是你信任的用户(认识他们,并且你知道他们不会把事情搞糟),你可以为他们设置一种管理员帐户,该帐户有权执行此类操作 - 确保他们可以通过该帐户访问整个 MySQL 服务器。
另一种方法是设置一个可以访问 mysql 管理脚本的“admin”组,该脚本可以读取只有 root 和“admin”组才能读取的 mysql root 密码,从而允许他们继续操作。此外,还要创建一个脚本将读取的用户 ID 列表,并拒绝任何不在列表中的用户 ID 的访问。
网络面板的问题在于,它们通过脚本提供有限的 MySQL 功能,并且您需要首先以有效用户身份授权。
但是如果没有这样的面板,在 CLI 世界中,您只能依靠自己或您信任的少数人来进行实际修改。这会带来很大的安全隐患,即使您认为自己不会被利用,但有人可能会有勇气扮演上帝,因为他们觉得自己可以做到并搞砸一切。