Linux新增User的相關指令
因為年紀大了記性非常不好,因此乾脆把指令記在這邊@@
1. 新增USER:
1 |
adduser -md /home/username username? |
指令參考如下(節錄自鳥哥的Linux私房菜):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
useradd [-u UID] [-g 初始群組] [-G 次要群組] [-mM]\> [-c 說明欄] [-d 家目錄絕對路徑] [-s shell] 使用者帳號名 選項與參數: -u :後面接的是 UID ,是一組數字。直接指定一個特定的 UID 給這個帳號; -g :後面接的那個群組名稱就是我們上面提到的 initial group 啦~ 該群組的 GID 會被放置到 /etc/passwd 的第四個欄位內。 -G :後面接的群組名稱則是這個帳號還可以加入的群組。 這個選項與參數會修改 /etc/group 內的相關資料喔! -M :強制!不要建立使用者家目錄!(系統帳號預設值) -m :強制!要建立使用者家目錄!(一般帳號預設值) -c :這個就是 /etc/passwd 的第五欄的說明內容啦~可以隨便我們設定的啦~ -d :指定某個目錄成為家目錄,而不要使用預設值。務必使用絕對路徑! -r :建立一個系統的帳號,這個帳號的 UID 會有限制 (參考 /etc/login.defs) -s :後面接一個 shell ,若沒有指定則預設是 /bin/bash 的啦~ -e :後面接一個日期,格式為『YYYY-MM-DD』此項目可寫入 shadow 第八欄位, 亦即帳號失效日的設定項目囉; -f :後面接 shadow 的第七欄位項目,指定密碼是否會失效。0為立刻失效, -1 為永遠不失效(密碼只會過期而強制於登入時重新設定而已。) |
2. 設定密碼:
1 |
passwd username |
指令參考如下(節錄來源同項目1):
1 2 3 4 5 6 7 8 9 10 11 |
passwd [-l] [-u] [--stdin] [-S] \ > [-n 日數] [-x 日數] [-w 日數] [-i 日期] 帳號 <==root 功能 選項與參數: --stdin :可以透過來自前一個管線的資料,作為密碼輸入,對 shell script 有幫助! -l :是 Lock 的意思,會將 /etc/shadow 第二欄最前面加上 ! 使密碼失效; -u :與 -l 相對,是 Unlock 的意思! -S :列出密碼相關參數,亦即 shadow 檔案內的大部分資訊。 -n :後面接天數,shadow 的第 4 欄位,多久不可修改密碼天數 -x :後面接天數,shadow 的第 5 欄位,多久內必須要更動密碼 -w :後面接天數,shadow 的第 6 欄位,密碼過期前的警告天數 -i :後面接『日期』,shadow 的第 7 欄位,密碼失效日期 |
3. 強制使用者在第一次登入時修改密碼:
指令參考如下(節錄來源同項目1):
範例二:建立一個名為 agetest 的帳號,該帳號第一次登入後使用預設密碼,
但必須要更改過密碼後,使用新密碼才能夠登入系統使用 bash 環境
1 2 3 4 |
useradd agetest echo "agetest" | passwd --stdin agetest chage -d 0 agetest # 此時此帳號的密碼建立時間會被改為 1970/1/1 ,所以會有問題! |
4. 修改USER
指令參考如下(節錄來源同項目1):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
usermod [-cdegGlsuLU] username 選項與參數: -c :後面接帳號的說明,即 /etc/passwd 第五欄的說明欄,可以加入一些帳號的說明。 -d :後面接帳號的家目錄,即修改 /etc/passwd 的第六欄; -e :後面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 內的第八個欄位資料啦! -f :後面接天數,為 shadow 的第七欄位。 -g :後面接初始群組,修改 /etc/passwd 的第四個欄位,亦即是 GID 的欄位! -G :後面接次要群組,修改這個使用者能夠支援的群組,修改的是 /etc/group 囉~ -a :與 -G 合用,可『增加次要群組的支援』而非『設定』喔! -l :後面接帳號名稱。亦即是修改帳號名稱, /etc/passwd 的第一欄! -s :後面接 Shell 的實際檔案,例如 /bin/bash 或 /bin/csh 等等。 -u :後面接 UID 數字啦!即 /etc/passwd 第三欄的資料; -L :暫時將使用者的密碼凍結,讓他無法登入。其實僅改 /etc/shadow 的密碼欄。 -U :將 /etc/shadow 密碼欄的 ! 拿掉,解凍啦! |
5. 刪除USER
指令參考如下(節錄來源同項目1):
1 2 3 |
userdel [-r] username 選項與參數: -r :連同使用者的家目錄也一起刪除 |
6. 增加sudoer
假如在使用sudo時出現以下的訊息,代表目前的帳號並不在sudo的允許清單內,
因此需要在/etc/sudoers裡增加對應的帳號名稱。
1 |
username is not in the sudoers file. This incident will be reported. |
Step 1: 切換至root
1 |
sudo su - |
Step 2: 使用vi修改sudoers內容
1 |
sudo visudo -f /etc/sudoers |
Step 3: 在適當位置新增以下內容 (輸入o可在游標下插入新行)
1 |
username ALL=(ALL) ALL |
Step 4: 存檔完成 (先按Esc跳出INSERT模式並輸入下列指令存檔)
1 |
:wq! |
(強制存檔,無論有無修改皆更新文件時間) 或
1 |
:x! |
(強制存檔,若檔案有更動才更新文件時間)
7. 增加sudoer (第二種方法)
Step 1: 切換至root
1 |
sudo su - |
Step 2: 修改sudoer檔案權限
1 |
chmod u+w /etc/sudoers |
Step 3: 編輯sudoer (執行後按i進入INSERT模式)
1 |
vim /etc/sudoers |
Step 4: 在適當位置新增以下內容
1 |
username ALL=(ALL) ALL |
Step 5: 存檔 (先按Esc跳出INSERT模式並輸入下列指令存檔)
1 |
:wq |
Step 6: 還原sudoer檔案權限,完成操作
1 |
chmod u-w /etc/sudoers |
Note:
如果出現找不到指令的情況,有可能是因為環境變數未設定,
此時可以在/usr/sbin/裡找到指令檔,把路徑加到指令前面即可。