如何在不使用 sudo 的情況下向其他使用者授予 root 權限

如何在不使用 sudo 的情況下向其他使用者授予 root 權限

您好,想在 Ubuntu 中建立一個與 root 相同的新用戶,可以使用 SSH 金鑰登錄,唯一的區別是用戶名。 (不使用 sudo)

我知道風險,但它位於我的私人網路中,經過嚴格的身份驗證。謝謝☺️

答案1

你實際上可以做到這一點,儘管我無法想像你想要這樣做的任何理由。您可以使用與 相同的使用者 ID (UID) 建立新使用者root。請注意,這實際上並不是「新」用戶,它只是同一用戶的不同用戶名。但是,您將能夠使用此名稱而不是 root 登入。

首先,建立一個新使用者並將其 UID 設定為0root 帳戶的 UID:

useradd -d /fool -g root -m -N -o -u 0 -s /bin/bash fool 

使用的選項是:

  • -d /fool:將此使用者設定$HOME/fool
  • -g root:設定該用戶的預設群組為root
  • -m:如果使用者的主目錄不存在,則建立該目錄。
  • -N:不建立與使用者同名的群組,只需將使用者新增至 指定的群組即可-g
  • -o:允許建立與另一個現有使用者俱有相同 UID 的使用者。
  • -u 0:設定該用戶的UID為0(同root)。
  • -s /bin/bash:將使用者的預設登入 shell 設定為bash.
  • fool:用戶名將是fool

運行此命令後,您將能夠以以下身份登入fool

terdon@ub20:~$ sudo -iu fool
root@ub20:~# whoami
root
root@ub20:~# cd
root@ub20:~# pwd
/fool

如您所見,我已登入為fool,但whoami(基於 UID)將我視為rootcd並將我帶到/fool。我擁有用戶的所有權利root,因為我用戶root,但我的用戶名和主目錄不同。現在您可以繼續允許透過 ssh 進行 root 存取(後果自負)並以fool代替登入root。這都是裝飾性的,您實際上仍然以 身份登錄root,但這似乎就是您想要的。

答案2

從安全角度來看,您想做的事情顯然沒有完成,強烈建議不要這樣做。

不過,在 Linux 中還是有可能的不同的用戶名代表同一用戶。因此,如果您想設定一個可以完全充當 root 的使用者名,原則上您可以為 root 使用者建立一個不同的登入名稱。預設以root身分登入是極不謹慎的原因之一是人為錯誤容易導致整個系統的損壞。

相關內容