如果我尝试通过打开“用户帐户”将密码更改为空,“更改”按钮仍然显示为灰色:
如何将密码改为空?我知道您可以将 Ubuntu 设置为自动登录,但我希望密码为空,我永远不想输入密码来验证自己是该用户。
我知道这可能不是一个好主意,但我想知道这是否可行。我正在使用 Ubuntu 12.10。
答案1
您无法使用 GUI 工具执行此操作,但可以使用终端。
首先,如果你的用户有 sudo 权限,你必须启用它的
NOPASSWD
选项。否则,sudo
即使你没有密码,它也会要求你输入密码,并且不会接受空密码。为此,请使用 打开 sudoers 配置文件
sudo visudo
,然后将以下行添加到文件并替换david
为您的用户名:david ALL=(ALL) NOPASSWD:ALL
关闭编辑器以应用更改,并在新终端中测试对 sudo 的效果。
运行以下命令删除用户的密码:
sudo passwd -d `whoami`
按照以下步骤操作这个答案以便
pkexec
接受没有密码的用户。pkexec
在需要 root 权限时被某些应用程序使用。
如果系统提示您输入密码,只需输入回车键即可。我已经使用 LightDM、锁定屏幕、、、 测试了这个答案,并且它可以正常sudo
工作gksu
。
答案2
警告:使用此方法删除密码后要小心,您将无法在 GUI 或终端中验证自己身份以证明您拥有管理员权限(例如使用 Synaptic 安装应用程序或sudo
通过命令行使用)。这是因为错误 #1168749。
仅当用户不是唯一的管理员用户时才执行此操作。
这已在 Ubuntu 12.04 和 12.10 上测试过。
确保单击“解锁”以便能够完成以下任务:
进入用户帐户,然后单击密码字段:
窗口打开后,单击“操作”右侧的向下箭头...
并将其更改为“无密码登录”,然后点击“更改”:
您也可以选择启用自动登录,如下所示:
要在运行此过程后再次为用户提供密码,您不能使用 GUI (错误 #882255),您必须使用命令行:
以具有管理员权限的另一个用户身份登录。(请记住,使用此方法,原始用户无法在没有密码的情况下以管理员权限运行。)
在终端中运行以下命令:
sudo passwd <username>
再次,我必须警告您,一旦您删除密码,您将无法在 GUI 或终端中验证自己的身份,例如使用 Synaptic 安装应用程序或sudo
在命令行上使用。
答案3
我想这是可能的来执行此操作,但是一旦您尝试安装更新或任何其他需要 sudo 的东西,您就会陷入麻烦;因为您需要一个具有 sudo 访问权限(和密码)的帐户才能安装。
您最好的选择似乎是:
- 使用没有密码的Guest帐户。从而保留一个有密码的默认帐户。
- 执意要一个没有密码的账户吗? 强烈建议不要这样做: 添加一个新的用户帐户(带密码),然后将其更改为空白。具体操作如下:
- 创建用户(通过 GUI 或 useradd 等)。然后,
- CTRL- ALT-T打开终端。接下来,
gksu gedit nano -B /etc/shadow
然后找到新用户并使用以下命令更改现有密码哈希:U6aMy0wojraho
——因此它看起来像:newuser:U6aMy0wojraho:13996:0:99999:7:::
对你的问题最好的解答: 选择自动登录您的帐户,这可能是您所追求的主要好处。 去做这个:
按CTRL- ALT- T(打开终端)。在终端中,输入:
sudo gedit /etc/lightdm/lightdm.conf
添加以下行:
autologin-user=YOURUSERNAME autologin-user-timeout=0
YOURUSERNAME
用您系统上的实际用户名替换--。
答案4
看起来,空密码不符合密码复杂度要求。
这是我在man passwd
As a general guideline, passwords should consist of 6 to 8 characters including one or
more characters from each of the following sets:
· lower case alphabetics
· digits 0 thru 9
· punctuation marks
Care must be taken not to include the system default erase or kill characters. passwd will reject any password which is not
suitably complex.
编辑:不幸的是,您无法通过该 UI 将密码设置为空。
是决定是否启用“更改”按钮的函数。
if (strlen (password) < MIN_PASSWORD_LEN) {
can_change = FALSE;
if (password[0] == '\0') {
tooltip = _("You need to enter a new password");
}
else {
tooltip = _("The new password is too short");
}
}
else if (strcmp (password, verify) != 0) {
can_change = FALSE;
if (verify[0] == '\0') {
tooltip = _("You need to confirm the password");
}
else {
tooltip = _("The passwords do not match");
}
}
else if (!um->old_password_ok) {
can_change = FALSE;
if (old_password[0] == '\0') {
tooltip = _("You need to enter your current password");
}
else {
tooltip = _("The current password is not correct");
}
}
else {
can_change = TRUE;
tooltip = NULL;
}
gtk_widget_set_sensitive (um->ok_button, can_change);
最小密码长度 6 是硬编码的 :(
#define MIN_PASSWORD_LEN 6