如果另一个用户没有分配密码,我如何 su 进入该用户?

如果另一个用户没有分配密码,我如何 su 进入该用户?

我有一个名为 的用户lap,该用户是在安装名为 的服务期间设置的lap。我必须以用户身份登录lap才能执行某些功能并访问某些目录。我没有 root 密码。我试过:

$ su - lap
Password: "MyPassWord"
su: Authentication failure

在这种情况下,我尝试的密码是我登录的当前用户的密码。这与我为 sudo 提供的密码相同。我也尝试过:

$ sudo su - lap
Sorry, user xxxxxgrp is not allowed to execute '/bin/su - lap' as root on myServerName.

在/etc/passwd中

lap:x:1003:1004::/opt/lap:/bin/csh

在/etc/shadow中

lap:!!:17674:0:99999:7:::

有什么办法可以更改为用户吗lap

答案1

只有特权用户(主要是 root)可以执行此操作,或者在其他地方可以授予您以“lap”用户身份运行某些内容的权限,而无需使用“sudo”执行特定任务的密码。

答案2

以 root 身份进入的最简单方法sudo是:

sudo - su

输入sudo密码以 root 身份登录。 (顺便说一句,大多数发行版在安装时不会分配默认的 root 密码)。

一旦您以 root 身份登录,就如同为 lap 分配密码一样简单:

passwd lap

这应该允许您为该用户创建一个新密码,无论旧密码是什么。

但是,如果您无权访问具有sudo权限的帐户,您始终可以以单用户模式启动计算机。以单用户模式启动的方法将根据您当前运行的发行版而有所不同。

这将直接带您进入 root shell,然后您可以如上所述更改 lap 的密码,从而允许您完全访问该帐户。

答案3

您尝试访问“lap”用户的用户似乎没有足够的权限来运行该su命令。通过 sudo 更改密码的其他选项可能是sudo -u lap passwd

其他命令也可以使用 sudo 作为 lap 运行

sudo -u [user] [command]

如果您尝试重新获得对用户“root”的访问权限,请将该参数添加init=/bin/sh内核参数启动时

如果您使用的是 GRUB

  1. 在菜单中按“e”

  2. 添加init=/bin/sh(内核[...] init=/bin/sh)

  3. mount / -o remount,rw将文件系统重新挂载为读写

  4. passwd更改“root”密码

  5. exec /sbin/init启动系统

一旦您通过“root”重新获得对系统的访问权限,我建议您检查 /etc/sudoers 配置

检查这条线是否存在

%wheel ALL=(ALL) ALL

这允许所有 grub 轮用户运行我的所有程序

相关内容