如何使用新使用者登入並修復錯誤:「:沒有這樣的檔案或目錄」?

如何使用新使用者登入並修復錯誤:「:沒有這樣的檔案或目錄」?

我創建了一個具有 root 存取權限的用戶

useradd -ou 0 -g 0 myuser -p [12345]

當我嘗試 su 新用戶時,我得到:

: No such file or directory

當我想透過 ssh 作為該用戶連接時,我得到:

Permission denied, please try again.

所以,我檢查了/etc/passwd

myuser:x:0:0::/home/myuser:/bin/bash

為了測試它,我創建了另一個沒有 root 訪問權限的用戶,它運行得很好。

我還添加了這一行,/etc/sudoers但它仍然不起作用:

root ALL=(ALL) ALL
myuser ALL=(ALL) ALL

然後我更改了PermitRootLoginsshd_config 但仍然沒有運氣:(

如何建立一個具有 root 存取權限的使用者並以該使用者身分透過 ssh 進入我的電腦?

答案1

通常在 Linux 上只有一個用戶root,而在 Ubuntu 上它被停用。相反,最好sudo透過執行以下命令將所有應具有管理權限的使用者新增至群組:

adduser username sudo

作為根。這允許他們透過鍵入以 root 身份執行命令

sudo command

並透過以下方式取得 root shell

sudo -i

最重要的是,您不必以這種方式啟用 ssh 的 root 登入。

主目錄可能未創建,因為您新增的使用者的 id ( 0) 已存在。避免手動設定 userid 和 groupid。


分步如何建立管理員使用者:

  1. sudo adduser username
  2. sudo adduser username sudo

答案2

第一個錯誤是因為您建立的使用者的主目錄不存在。這是您應該始終使用adduser而不是 的原因之一useradd。如中所解釋的man useradd

   useradd is a low level utility for adding users. On Debian,
   administrators should usually use adduser(8) instead.

其功能之一adduser是它會自動為您建立主目錄。所以,你想要運行的是:

    sudo adduser --gid 0 --uid 0 username

下一個問題是您必須允許 root 登入。編輯/etc/ssh/sshd_config和更改

PermitRootLogin no

PermitRootLogin yes

然後,重新啟動ssh伺服器:

sudo service ssh restart

答案3

經過幾個小時終於完成了!我只是像這樣創建新用戶:

useradd -ou 0 myuser -p [#hash-password]

然後我改變了PermitRootLogin yes這條路徑:/etc/ssh/sshd_config

易如反掌 :)

相關內容