我可以将用户帐户设置为没有密码吗?


81

如果我尝试通过打开“用户帐户”将密码更改为空,则“更改”按钮将保持灰色:

如何将密码更改为空?我知道您可以将Ubuntu设置为自动登录,但是我希望我的密码为空,我永远不想输入密码来对自己进行身份验证。

我知道这可能不是一个好主意,但我想知道是否有可能。我正在使用Ubuntu 12.10。

Answers:


140

您无法使用GUI工具执行此操作,但可以使用终端。

  1. 首先,如果您的用户具有sudo特权,则必须启用其NOPASSWD选项。否则,sudo即使您没有密码,也会要求输入密码,并且不会接受空密码。

    为此,请使用打开sudoers配置文件sudo visudo,并将以下行添加到该文件中,并替换david为您的用户名:

    david ALL=(ALL) NOPASSWD:ALL
    

    关闭编辑器以应用更改,并在新终端中测试sudo的效果。

  2. 通过运行以下命令删除用户密码:

    sudo passwd -d `whoami`
    

如果系统提示您输入密码,只需键入Enter即可。我已经使用LightDM(锁定屏幕)测试了这个答案sudogksu并且它可以工作,但是还有更多的步骤可以使用它pkexec(感谢专家)。


1
对于pkexec,请参见askubuntu.com/a/614537/158442
muru

任何新的visudo编辑(例如)nopasswd应添加到末尾,因此没有其他设置会覆盖该条目。
Dean Meehan

4
通过ssh登录,这对我(Ubuntu 16.04)不起作用。它仍然要求输入密码,但不接受任何密码(空白或旧密码或ssh密钥的密码)。
Deleet '16

3
在Debian上,当我尝试在命令后使用空密码登录时,收到消息“抱歉,无法正常工作,请重试” passwd david -d。现在,我也无法使用旧密码登录。
fabriciorissetto

1
现在,我无法安装软件,因为它需要输入密码。
马修

14

警告:使用此方法删除密码后,请务必小心,您将无法通过身份验证来证明自己具有GUI或终端中的管理员权限(例如,使用Synaptic或sudo通过以下命令安装应用程序:线)。这是因为错误#1168749

仅当该用户不是唯一的管理员用户时,才执行此操作。

这已在Ubuntu 12.04和12.10上进行了测试。

  1. 确保单击“解锁”以能够完成以下任务:

    解锁屏幕截图

  2. 进入用户帐户,然后单击密码字段:

  3. 窗口打开后,单击“操作”右侧的向下箭头。

  4. 并将其更改为“无需密码登录”,然后单击“更改”:

  5. 您也可以选择启用自动登录,如下所示:

    屏幕截图

要在执行此过程后再次为用户提供密码,您将无法使用GUI(错误#882255),而必须使用命令行:

  1. 以具有管理员特权的其他用户身份登录。(请记住,如果没有使用此方法的密码,原始密码不能以管理员权限运行。)

  2. 在终端中运行以下命令:

    sudo passwd <username>
    

同样,我必须警告您,一旦删除密码,您将无法在GUI或终端中进行身份验证,例如使用Synaptic或sudo在命令行上安装应用程序。


但是我有一个问题,“不使用密码登录”选项实际上有什么作用?它基本上可以执行passwd -d并删除密码吗?
Alaa Ali 2013年

好吧,老实说,我不是100%确定的。但是,这passwd -d是一种删除帐户密码的快速方法。它将为命名帐户设置无密码。仅根用户可用。
米奇

仅可用于root用户吗?没有人,您可以使用它删除任何用户的密码=)。我认为这实际上是“无需密码登录”选项的作用;它只会删除您的密码,这就是为什么您将无法进行身份验证的原因。那真是愚蠢。
Alaa Ali 2013年

1
我同意,但仅举一个例子,我有一台共享的笔记本电脑,有时我的孩子会使用它们,他们每小时大约重新启动一百万次,而且我没有时间每次都要输入密码,所以我将帐户设置为自动登录,以免麻烦,因此他们不会错过比他们已经做的更多的事情。:)
米奇

7

我认为可以这样做,但是一旦您尝试安装更新或需要sudo的任何其他工具,就会惹上麻烦。因为您需要一个具有sudo访问权限(和密码)的帐户才能安装。

您最好的选择似乎是:

  • 使用没有密码的来宾帐户。从而为默认帐户保留密码。
  • 擅自使用没有密码的帐户? 强烈建议不要这样做: 添加一个新的用户帐户(带有密码),然后将其更改为空白。去做这个:
    1. 创建用户(通过GUI或useradd等)。然后,
    2. CTRL- ALT- T打开终端。下一个,
    3. gksu gedit nano -B /etc/shadow然后找到新用户并使用以下命令更改现有的密码哈希:U6aMy0wojraho-这样看起来像:newuser:U6aMy0wojraho:13996:0:99999:7:::
  • 解决问题的最佳方法: 选择自动登录帐户,这可能是您追求的主要好处。 去做这个:

    1. CTRL- - ALTT开端子)。在终端中,键入:

      sudo gedit /etc/lightdm/lightdm.conf
      

      添加行:

      autologin-user=YOURUSERNAME
      autologin-user-timeout=0
      

      YOURUSERNAME系统上的实际用户名替换。


感谢您指出替代方案。我知道没有密码不是一个好主意,但是我想知道是否有可能(我已经更新了问题)。
Flimm

2

它是一个GUI界面,这就是阻止您将其设置为空密码的原因。

如果有一种方法,则必须通过终端来完成。

但是,最后,您必须通过GUI进入系统,即使您确实将密码更改为空白,GUI也会阻止这种情况。因此,除非您想更改为非GUI界面,否则根本不可能。


2

看起来,空密码不符合密码复杂度要求。

这就是我发现的 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将密码设置为空。

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/quantal/gnome-control-center/quantal-proposed/view/head:/panels/user-accounts/um-password-dialog.c#L358

是决定是否启用“更改”按钮的功能。

    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);

最低密码len 6是硬编码的:(

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/quantal/gnome-control-center/quantal-proposed/view/head:/panels/user-accounts/um-password-dialog.c#L39

#define MIN_PASSWORD_LEN 6

1
这是“ 比实际规则更多的是您所称的准则 ” ...
奥利

但是最后一行说:“ passwd将拒绝任何不太适当的密码。” 因此,我相信它可能不会允许输入空密码。
thefourtheye

但是同样,这些项目没有要求。您不需要完整的字符和大小写,它们只是建议您使用它们来获得更强的密码。PAM会根据您实际需要的规则进行管理。
奥利

2
您可以设置空密码登录passwd-d选项。
Flimm 2013年

对。在手册页中阅读。那就是为什么我说“无法通过该用户界面将密码设置为空”。
thefourtheye

1

删除后可以更改密码。您只需要以恢复模式启动即可。在这里,您会找到一个不错的教程:http : //www.psychocats.net/ubuntu/resetpassword

简而言之,您会在上面的链接中找到:

  1. 您必须重新启动进入恢复模式。(要显示启动菜单,您必须在启动过程中按住Shift键)
  2. 在启动菜单中,选择“拖放到根shell提示符”选项

  3. 在控制台上一一输入

    ls /home
    passwd username
    passwd susan
    exit
    

    然后正常重启


1
请考虑编辑答案,以至少包含要链接的文章中所描述内容的概述,并提供链接以供参考/引用。这样,如果由于某种原因该链接不可用,您的回答将仍然有用。
hmayag 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.