
我安裝了新版本的 Ubuntu 16.04.1,並嘗試透過建立新的使用者帳戶root
。我已將SHELL
行更改/etc/default/useradd
為如下:
SHELL=/bin/bash
(之前讀過/bin/sh
)
執行useradd -D
提供以下輸出:
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
然後我嘗試創建一個用戶,如下所示:
useradd -m -G sudo -c "David Buckley" david
但預設的 shell 仍然是/bin/sh
.更具體地說,該/etc/passwd
文件內容如下:
david:x:1000:1000:David Buckley:/home/david:
稍微相關的一點是,新用戶不會收到 sudo 存取權限。給定 groups david sudo
,並且該/etc/sudoers
檔案包含以下行(未註解):
# Allow members of group sudo to execute any command
sudo ALL=(ALL:ALL) ALL
我可能做錯了什麼導致這種情況?
答案1
答案2
奇怪的是,昨天我在運行 Ubuntu 16.04 LTS 的伺服器上也發生了這種情況。
我沒有具體的答案為什麼發生這種情況,但這裡有一個對我有用的快速解決方案:
不要使用useradd
,adduser
而是使用!
描述
adduser
並addgroup
根據命令列選項和配置資訊將使用者和群組新增至系統/etc/adduser.conf
。它們是低階工具(如useradd
、groupadd
和usermod
程式)更友善的前端,預設選擇符合 Debian 策略的 UID 和 GID 值、建立具有骨架配置的主目錄、執行自訂腳本和其他功能。
至於sudo
,您必須登出該用戶,然後重新登錄,新的群組設定才能生效。
這是一個良好的鏈接上useradd
VS adduser
.