線上書籍

Home

網管技術

http://note.tc.edu.tw/263.html

Linux/ Freebsd 下建立使用者 次要群組 [系統應用::LINUX]
 
列印 推薦
作者或來源 瘦河馬 2009-12-01 22:05:25
關鍵字 1useradd 2adduser
此文完整連結 http://note.tc.edu.tw/263.html
文章歡迎轉載,請尊重版權註明連結來源。
 

Linux/ Freebsd 下建立使用者

建立使用者對有經驗的人來說,是一件再簡單不過的事,那我還想寫什麼?批次建立使用者?不是,我只是想寫一些備忘及小技巧。
系統 LINUX ubuntu 9.04 /FREEBSD 7.0

1. 新增一使用者

[LINUX]
useradd [-c comment] [-d home_dir]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-m [-k skeleton_dir] | -M] [-n] [-o] [-p passwd] [-r]
[-s shell] [-u uid] login
舉例:
新增使用者user1
useradd user1
新增使用者user2順便建立家目錄
useradd –m user2
新增使用者user3順便建立家目錄但user3不能登入,一般來說用於純郵件使用者
useradd -m –s /usr/sbin/nologin user3
新增使用者user4順便建立家目錄,且加入admin群組,如此user4可以使用系統指令
useradd –m –g admin user4
新增使用者user5順便建立家目錄,其SHELL採用bash,且加入admin群組,如此user5可以使用系統指令
useradd –m –g admin –s /bin/bash user5
注意:請避免建立以數字開頭的帳號,以免出現不可預期的問題

[FREEBSD]
# adduser

他會出現對話,照需求修改或按ENTER 就可以了

2 和使用者管理有關的檔案

[LINUX]
    /etc/passwd 使用者帳號資訊
    /etc/shadow 使用者帳號資訊加密
     /etc/group    群組資訊
    /etc/default/useradd 預設的useradd時的定義資訊
    /etc/login.defs    和使用者有關的系統廣義設定
    /etc/skel/    內含定義檔的目錄,當使用者建立時會將此區的檔案拷貝至使用者的家目錄

[FREEBSD]
     /etc/master.passwd    使用者帳號資訊(包含密碼)
     /etc/group            群組資訊
     /etc/shells           新增使用者可用的 shell 寫在這裡
     /etc/login.conf       和使用者有關的系統廣義設定,這裡可以設定限制使用者能使用的資源、時間、記憶體等
     /etc/adduser.conf     新增使用者的預設選項檔 configuration file for adduser
     /etc/adduser.message  加完使用者時會出現的訊息 message file for adduser
     /usr/share/skel       內含定義檔的目錄,當使用者建立時會將此區的檔案拷貝至使用者的家目錄,所以我在這建立一個 public_html 目錄和 index.html
     /var/log/adduser      使用者登入過程記錄會記在這裡

3 使用者管理
[LINUX]
(1) 查看使用者是否已建立使用者
less /etc/passwd 請注意root的UID
wc /etc/passwd wc可查看列數(也是估計使用者數的偷吃歩)
finger 使用者名稱 查看使用者詳細資訊 (ubuntu無此指令,需另外安裝)

(2) 建立或修改密碼
passwd 使用者名稱

(3) 刪除一個使用者
userdel 使用者名稱
注意:系統刪除帳號前並不會確認,若不小心刪除則無法復原,請特別注意,系統預設不會刪除使用者的家目錄和信件

(4) 新增一個群組
groupadd 可指定群組名稱來建立新的群組帳號,需要時可從系統中取得新群組值。
groupadd 群組名稱
和群組有關的檔案
/etc/group - 群 組 資 訊
/etc/gshadow - 群 組 資 訊 加 密

(5) 刪除一個群組
groupdel 命令會修改系統帳號檔,會刪除所有已經存在的group。
groupdel 群組名稱
注意:如果有任何一個群組的使用者在線上的話就不能移除該群組。最好先移除使用者後再移除群組

(6) 修改使用者參數
usermod [-cdegGlsuLU] username

選項與參數: [此參數說明copy from鳥哥]
-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 密碼欄的 ! 拿掉,解凍啦!

[FREEBSD]
(1) 查看使用者是否已建立使用者
finger username請注意root的UID
wc /etc/master.passwd
      32      84    2211 /etc/master.passwd
欄位為 32個單字、84行、2211個字元

(2) 建立或修改密碼
passwd 使用者名稱

(3) 刪除一個使用者
rmuser 使用者名稱
系統會出現對話框可順便把家目錄刪掉

(4) 新增一個群組
pw groupadd 群組名稱
和群組有關的檔案
/etc/group - 群組資訊

(5) 刪除一個群組
pw  groupdel 群組名稱

(6)把使用者加入/移除群組
一個Freebsd使用者有一個主要群組,用-g,及多個群組列表 -G
pw useradd mike -s /bin/csh -g adminusers    <== 新增使用者,同時加入adminusers群組。
pw usermod mike -G ftpusers,wwwusers,sales <==不修改主要群組,只修改多個群組用 -G
pw usermod mike -g ftpusers  <==修改原有群組 -g