檔案的類型與權限
ls -al
drwxr-xr-x 115 root root 4096 2011-05-03 08:30 webmin
第一欄
第1字元:代表這是『目錄、檔案或連結檔』:
d是目錄,-是檔案,l為連結檔,b表示可供儲存的周邊設備,c表示序列埠設備,例如鍵盤、滑鼠,s表示socket。
接下來的字元中,以三個為一組,且均為『rwx』 的三個參數的組合,第一組為『檔案擁有者的權限』,第二組為『同群組的權限』;第三組為『其他非本群組的權限』,x這個欄位若為s,表示以擁有者或同群組的身分執行,若有t表示stickly bit,即使一般人有寫入的權限,但只有擁有者才能刪除。
檔案隱藏屬性:
chattr指令只能在Ext2/Ext3的檔案系統上面生效,其他的檔案系統可能就無法支援
chattr [+-=][ASacdistu] 檔案或目錄名稱
選項與參數:
+:增加某一個特殊參數
-:移除某一個特殊參數
=:設定
A:設定時,若你有存取此檔案(或目錄),他的存取時間 atime 將不會被修改,可避免過度的存取磁碟。
S:加上S這個屬性時,任何檔案的修改,會『同步』寫入磁碟中。
a:當設定之後,這個檔案只能增加資料,不能刪除也不能修改,只有root才能設定這個屬性。
c:設定之後,將會自動檔案『壓縮』,讀取時會自動解壓縮,
d:當 dump 程序被執行的時候,設定d屬性將可使該檔案(或目錄)不會被 dump 備份
i:讓一個檔案『不能被刪除、改名、設定連結也無法寫入或新增資料!』對於系統安全性有相當大的助益!只有 root 能設定此屬性
s:設定時,如果這個檔案被刪除,將會被完全的移除出硬碟!
u:與 s 相反的,如果該檔案被刪了,資料內容其實還存在磁碟中,可以來救援該檔案!
注意:常見的是 a 與 i 的設定值,很多設定值必須要身為 root 才能設定
顯示檔案隱藏屬性
lsattr [-adR] 檔案或目錄
選項與參數:
-a:將隱藏檔的屬性也列出來;
-d:如果接的是目錄,僅列出目錄本身的屬性而非目錄內的檔名;
-R:連同子目錄的資料也一併顯示出來!
參考資料:鳥哥的linux私房菜
2011年11月21日 星期一
2011年11月20日 星期日
配額
Quota 的使用限制
1.僅能針對整個 filesystem: (分割區)
4.安裝Quota的套件
暫時性手動加入 quota 的支援
UUID=.... /home ext3 relatime,usrquota,grpquota 1 2
重新開機,檢查 /etc/mtab 有沒有usrquota
quotacheck :掃瞄檔案系統並建立 Quota 的記錄檔
quotacheck [-avugfM] [/mount_point]
選項與參數:
-a :掃瞄所有在 /etc/mtab 內,含有 quota 支援的 filesystem,加上此參數後,/mount_point 可不必寫,
-u :針對使用者掃瞄檔案與目錄的使用情況,會建立 aquota.user
-g :針對群組掃瞄檔案與目錄的使用情況,會建立 aquota.group
-v :顯示掃瞄過程的資訊;
-f :強制掃瞄檔案系統,並寫入新的 quota 設定檔 (危險)
-M :強制以讀寫的方式掃瞄檔案系統,只有在特殊情況下才會使用。
-f 與 -M 是在檔案系統可能已經啟動 quota 了,但想要重新掃瞄檔案系統時,系統會要求加入的選項啦 (擔心有其他人已經使用 quota 中)!
edquota :編輯帳號/群組的限值與寬限時間
edquota 是 edit quota 的縮寫
edquota [-u username] [-g groupname]
edquota -t <==修改寬限時間
edquota -p 範本帳號 -u 新帳號
選項與參數:
-u :後面接帳號名稱。設定 username 的限制值;
-g :後面接群組名稱。設定 groupname 的限制值;
-t :可以修改寬限時間。
-p :複製範本。將範本帳號這個人的 quota 限制值複製給 新帳號
編輯某一帳號配額
套用某一帳號設定
範例一:edquota -p myquota1 -u myquota2 //將p的範例給使用者u
範例二:edquota -p myquota1 myquota2
寬限時間修改
edquota -t
edquota -ut
Quota限制值的報表
個人報表
quota [-uvs] [username]
quota [-gvs] [groupname]
選項與參數:
-u :後面可以接 username ,表示顯示出該使用者的 quota 限制值。若不接 username,表示顯示出執行者的 quota 限制值。
-g :後面可接 groupname ,表示顯示出該群組的 quota 限制值。
-v :顯示每個用戶在 filesystem 的 quota 值;
-s :使用 1024 為倍數來指定單位,會顯示如 M 之類的單位!
例: quota -uvs myquota1
repquota :針對檔案系統的限額做報表
repquota -a [-vugs]
選項與參數:
-a :直接到 /etc/mtab 搜尋具有 quota 標誌的 filesystem ,並報告 quota 的結果;
-v :輸出的資料將含有 filesystem 相關的細部資訊;
-u :顯示出使用者的 quota 限值 (這是預設值);
-g :顯示出個別群組的 quota 限值。
-s :使用 M, G 為單位顯示結果
例:repquota -auvs 或 repquota -a
啟動 quota 的服務
quotaon [-avug]
quotaon [-vug] [/mount_point]
選項與參數:
-u :針對使用者啟動 quota (aquota.user)
-g :針對群組啟動 quota (aquota.group)
-v :顯示啟動過程的相關訊息;
-a :根據/etc/mtab 內的 filesystem 設定啟動有關的quota,若不加 -a 的話,則後面就需要加上特定的 filesystem!
例:quotaon -av
關閉 quota 的服務
quotaoff [-a]
quotaoff [-ug] [/mount_point]
選項與參數:
-a :全部filesystem 的 quota 都關閉 (根據 /etc/mtab)
-u :僅針對後面接的那個 /mount_point 關閉 user quota
-g :僅針對後面接的那個 /mount_point 關閉 group quota
例:quotaoff -a
測試
測試一:利用一般使用者的身份,建置一個 270MB 的大檔案,並觀察 quota 結果!
dd if=/dev/zero of=bigfile bs=1M count=270
以下是dd說明
dd 可以讀取磁碟裝置的內容(幾乎是直接讀取磁區"sector"),將整個裝置備份成一個檔案呢!
dd if="input_file" of="output_file" bs="block_size" count="number"
選項與參數:
if :就是 input file 囉~也可以是裝置喔!
of :就是 output file 喔~也可以是裝置;
bs :規劃的一個 block 的大小,若未指定則預設是 512 bytes(一個 sector 的大小)
count:多少個 bs 的意思。
1.僅能針對整個 filesystem: (分割區)
- 檢查/home 是否是個獨立的 filesystem,不過,不太建議在根目錄設定 Quot
df -h /home (-h Display in Kb, Mb, or Gb )
- mount | grep home 檢查檔案格式
4.安裝Quota的套件
- apt-get install quota
暫時性手動加入 quota 的支援
- mount -o remount,usrquota,grpquota /home
永久性設定Quota的檔案系統
在/etc/fstab第四欄位加入,usrquota,grpquota
vi /etc/fstab LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2或
UUID=.... /home ext3 relatime,usrquota,grpquota 1 2
重新開機,檢查 /etc/mtab 有沒有usrquota
quotacheck :掃瞄檔案系統並建立 Quota 的記錄檔
quotacheck [-avugfM] [/mount_point]
選項與參數:
-a :掃瞄所有在 /etc/mtab 內,含有 quota 支援的 filesystem,加上此參數後,/mount_point 可不必寫,
-u :針對使用者掃瞄檔案與目錄的使用情況,會建立 aquota.user
-g :針對群組掃瞄檔案與目錄的使用情況,會建立 aquota.group
-v :顯示掃瞄過程的資訊;
-f :強制掃瞄檔案系統,並寫入新的 quota 設定檔 (危險)
-M :強制以讀寫的方式掃瞄檔案系統,只有在特殊情況下才會使用。
-f 與 -M 是在檔案系統可能已經啟動 quota 了,但想要重新掃瞄檔案系統時,系統會要求加入的選項啦 (擔心有其他人已經使用 quota 中)!
例:quotaoff -a //先關閉quota
quotacheck -uvg /home //建立Quota的記錄檔
建立過程中會顯示記錄檔尚未建立而已,可以忽略不理!
使用ll -d /home/a* (ll 表示ls -l)
會顯示aquota記錄檔 /home/aquota.group /home/aquota.user
edquota :編輯帳號/群組的限值與寬限時間
edquota 是 edit quota 的縮寫
edquota [-u username] [-g groupname]
edquota -t <==修改寬限時間
edquota -p 範本帳號 -u 新帳號
選項與參數:
-u :後面接帳號名稱。設定 username 的限制值;
-g :後面接群組名稱。設定 groupname 的限制值;
-t :可以修改寬限時間。
-p :複製範本。將範本帳號這個人的 quota 限制值複製給 新帳號
編輯某一帳號配額
edquota -u myquota1
Disk quotas for user myquota1 (uid 710):
Filesystem blocks soft hard inodes soft hard
/dev/hda3 80 0 0 10 0 0
七個欄位分別的意義為:
- 檔案系統 (filesystem):
- 磁碟容量 (blocks):這個數值是 quota 自己算出來的,單位為 Kbytes,請不要更動他;
- soft:磁碟容量 (block) 的 soft 限制值,單位亦為 KB,(警告上限)
- hard:block 的 hard 限制值,單位 KB;(容量上限)
- 檔案數量 (inodes):這是 quota 自己算出來的,單位為個數,請不要更動他;
- soft:inode 的 soft 限制值;
- hard:inode 的 hard 限制值;
範例一: /dev/hda3 80 250000 300000 10 0 0
套用某一帳號設定
範例一:edquota -p myquota1 -u myquota2 //將p的範例給使用者u
範例二:edquota -p myquota1 myquota2
寬限時間修改
edquota -t
edquota -ut
Quota限制值的報表
個人報表
quota [-uvs] [username]
quota [-gvs] [groupname]
選項與參數:
-u :後面可以接 username ,表示顯示出該使用者的 quota 限制值。若不接 username,表示顯示出執行者的 quota 限制值。
-g :後面可接 groupname ,表示顯示出該群組的 quota 限制值。
-v :顯示每個用戶在 filesystem 的 quota 值;
-s :使用 1024 為倍數來指定單位,會顯示如 M 之類的單位!
例: quota -uvs myquota1
repquota :針對檔案系統的限額做報表
repquota -a [-vugs]
選項與參數:
-a :直接到 /etc/mtab 搜尋具有 quota 標誌的 filesystem ,並報告 quota 的結果;
-v :輸出的資料將含有 filesystem 相關的細部資訊;
-u :顯示出使用者的 quota 限值 (這是預設值);
-g :顯示出個別群組的 quota 限值。
-s :使用 M, G 為單位顯示結果
例:repquota -auvs 或 repquota -a
啟動 quota 的服務
quotaon [-avug]
quotaon [-vug] [/mount_point]
選項與參數:
-u :針對使用者啟動 quota (aquota.user)
-g :針對群組啟動 quota (aquota.group)
-v :顯示啟動過程的相關訊息;
-a :根據/etc/mtab 內的 filesystem 設定啟動有關的quota,若不加 -a 的話,則後面就需要加上特定的 filesystem!
例:quotaon -av
關閉 quota 的服務
quotaoff [-a]
quotaoff [-ug] [/mount_point]
選項與參數:
-a :全部filesystem 的 quota 都關閉 (根據 /etc/mtab)
-u :僅針對後面接的那個 /mount_point 關閉 user quota
-g :僅針對後面接的那個 /mount_point 關閉 group quota
例:quotaoff -a
測試
測試一:利用一般使用者的身份,建置一個 270MB 的大檔案,並觀察 quota 結果!
dd if=/dev/zero of=bigfile bs=1M count=270
以下是dd說明
dd 可以讀取磁碟裝置的內容(幾乎是直接讀取磁區"sector"),將整個裝置備份成一個檔案呢!
dd if="input_file" of="output_file" bs="block_size" count="number"
選項與參數:
if :就是 input file 囉~也可以是裝置喔!
of :就是 output file 喔~也可以是裝置;
bs :規劃的一個 block 的大小,若未指定則預設是 512 bytes(一個 sector 的大小)
count:多少個 bs 的意思。
2011年11月17日 星期四
帳號與群組
root 的UID及GID皆為0
預設帳號:
Apache或是nobody 執行apache的帳號
dovecot 執行dovecot (pop3伺服器)的帳號
named或bind 執行(DNS伺服器) 的帳號
lp 列印服務的帳號
postfix
squid (PROXY)
新增帳號設定檔
/etc/default/useradd
SHELL=/bin/sh //可改為 /bin/bash
# GROUP=100
# HOME=/home
//預設建立一個與帳號相同的群組,在/home 之下
# INACTIVE=-1 //預設不定義密碼變更期限
# EXPIRE= //預設不定義帳號失效期限
/etc/login.defs
MAIL_DIR /var/mail //郵件存放目錄
FAILLOG_ENAB yes //登錄失敗狀況
LOG_OK_LOGINS no //是否紀綠登入成功的帳號
#記錄 su 的活動
SYSLOG_SU_ENAB yes
SYSLOG_SG_ENAB yes
#記錄登入失敗的帳號,可使用lastb查詢
FTMP_FILE /var/log/btmp
#密碼時效控制
PASS_MAX_DAYS 99999 //可使用日數
PASS_MIN_DAYS 0 //多少日內不得變更
PASS_WARN_AGE 7 //失效幾日前提出警告
# 使用useradd自動取得UID的範圍
UID_MIN 1000
UID_MAX 60000
#使用groupadd自動取得GID的範圍
GID_MIN 1000
GID_MAX 60000
#密碼錯誤嘗試登入次數
LOGIN_RETRIES 5
# 需在幾秒內登入系統
LOGIN_TIMEOUT 60
#如果帳號目錄不存在,允許登入
DEFAULT_HOME yes
# 如果群組中沒有其他帳號,使用userdel移除帳號時會一併將該群組刪除
USERGROUPS_ENAB yes
/etc/skel/.bashrc
/etc/skel/.profile
新增帳號
useradd [-u UID] [-g 初始群組] [-G 次要群組] [-mM][-c 說明欄] [-d 家目錄絕對路徑] [-s shell] 使用者帳號名
選項與參數:
-u :後面接的是 UID ,
-g :群組名稱, initial group
-G :群組名稱,還可以加入的群組
-M :強制!不要建立使用者家目錄!(系統帳號預設值)
-m :強制!要建立使用者家目錄!(一般帳號預設值)
-c :說明
-d :指定某個目錄成為家目錄,而不要使用預設值。務必使用絕對路徑!
-r :建立一個系統的帳號,這個帳號的 UID 會有限制
-s :後面接一個 shell ,若沒有指定則預設是 /bin/bash
-e :後面接一個日期,格式為『YYYY-MM-DD』帳號失效日
-f :密碼是否會失效。0為立刻失效,-1 為永遠不失效(密碼只會過期而強制於登入時重新設定而已。)
範例一:
useradd -m peter
step 01 /etc/default/useradd
step 02 /etc/login.defs
step 03 /etc/skel/.bash* 複製到該帳號的根目錄之下
/etc/skel/ 預設有 .bashrc .profile 檔案,由於/etc/default/useradd 指定 SKEL=/etc/skel,因此新增帳號時,會將此目錄下的檔案複製到使用者帳號根目錄下。
範例二:
useradd -u 501 -g 100 -G 1001 -d /home/peter -m peter
由於加了 -m 所以系統會將 /etc/skel 下的 profile 複製到 /home/peter之下的 .bash* ,此外,還有mail spool的相關檔案
範例三:新增與root相同權限的帳號
useradd miffy
passwd miffy
將 miffy 的 uid 與 gid 改為0
useradd 的預設值
useradd -D
GROUP=100 <==預設的群組
HOME=/home <==預設的家目錄所在目錄
INACTIVE=-1 <==密碼失效日
EXPIRE= <==帳號失效日
SHELL=/bin/bash <==預設的 shell
SKEL=/etc/skel <==使用者家目錄的內容資料參考目錄
CREATE_MAIL_SPOOL=yes <==是否主動幫使用者建立郵件信箱(mailbox)
刪除帳號
userdel
連根目錄一起刪除
userdel -r
usermod [-cdegGlsuLU] username 修改帳號
-c :後面接帳號的說明
-d :後面接帳號的家目錄
-e :後面接日期,格式是 YYYY-MM-DD,也就是在 /etc/shadow 內的第八個欄位
-f :後面接天數,為 shadow 的第七欄位。
-g :後面接初始群組,修改 /etc/passwd 的第四個欄位!
-G :後面接次要群組,修改使用者能夠支援的群組,修改的是 /etc/group
-a :與 -G 合用,可『增加次要群組的支援』而非『設定』
-l :後面接帳號名稱。亦即是修改帳號名稱, /etc/passwd 的第一欄!
-s :後面接 Shell 的實際檔案,如 /bin/bash 或 /bin/csh
-u :後面接 UID 數字
-L :暫時將使用者的密碼凍結,僅改 /etc/shadow 的密碼欄。
-U :將 /etc/shadow 密碼欄的 ! 拿掉,帳號可恢復使用
gpasswd:群組管理員功能
gpasswd groupname
gpasswd [-A user1,...] [-M user3,...] groupname
:若沒有任何參數時,表示給予 groupname 一個密碼(/etc/gshadow)
-A :將 groupname 的主控權交由後面的使用者管理(該群組的管理員)
-M :將某些帳號加入這個群組當中!
-r :將 groupname 的密碼移除
-R :讓 groupname 的密碼欄失效
-d :將某位使用者移除出 groupname 這個群組當中。
groupadd 建立群組
groupadd testgroup <==建立群組
資料來源:鳥哥的 Linux 私房菜
相關設定檔
/etc/passwd 帳號設定檔
1.帳號名稱:
2.密碼:加密過的密碼欄位,若使用/etc/shadow,則此一欄位為x。若未使用shadow,且密碼欄位為*,則無法使用login
3.UID:使用者識別碼,0(系統管理員),1~1000(系統帳號)
4.GID:主要群組,定義在 /etc/group
5.使用者資訊說明欄:註解
6.家目錄:
7.Shell:(與系統的核心溝通以進行使用者的操作任務),若為 /sbin/nologin 無法登入
若是不想讓帳號登入,除密碼欄位設為*外,可使用passwd -l user ,或是在shell填入 /sbin/nologin
/etc/shadow 加密過的密碼檔
1.帳號名稱:
2.密碼:加密過的密碼欄位,在此欄位前加上 ! 或 * 改變密碼欄位長度,就會讓密碼『暫時失效』了。
3.最近更動密碼的日期
4.密碼不可被更動的天數,0沒限制
5.密碼需要重新變更的天數,99999沒限制
6.密碼需要變更期限前的警告天數
7.密碼過期後的帳號寬限時間(密碼失效日),不過如果密碼過期了, 那當你登入系統時,系統會強制要求你必須要重新設定密碼才能登入繼續使用喔,
8.帳號失效日期:
9.保留
日期的時間是以 1970 年 1 月 1 日作為 1 而累加的日期
/etc/group
1.群組名稱:
2.群組密碼:這個設定通常是給『群組管理員』使用的,目前很少有這個機會設定群組管理員,密碼已經移動到 /etc/gshadow去,這個欄位只會存在一個『x』
3.GID:就是群組的 ID 啊
4.此群組支援的帳號名稱:若有多個人員,以『,』隔開
/var/mail/帳號名稱 使用者郵件
newgrp: 有效群組的切換
exit 離開回原有效群組
參考資料:鳥哥的 Linux 私房菜
預設帳號:
Apache或是nobody 執行apache的帳號
dovecot 執行dovecot (pop3伺服器)的帳號
named或bind 執行(DNS伺服器) 的帳號
lp 列印服務的帳號
postfix
squid (PROXY)
新增帳號設定檔
/etc/default/useradd
SHELL=/bin/sh //可改為 /bin/bash
# GROUP=100
# HOME=/home
//預設建立一個與帳號相同的群組,在/home 之下
# INACTIVE=-1 //預設不定義密碼變更期限
# EXPIRE= //預設不定義帳號失效期限
/etc/login.defs
MAIL_DIR /var/mail //郵件存放目錄
FAILLOG_ENAB yes //登錄失敗狀況
LOG_OK_LOGINS no //是否紀綠登入成功的帳號
#記錄 su 的活動
SYSLOG_SU_ENAB yes
SYSLOG_SG_ENAB yes
#記錄登入失敗的帳號,可使用lastb查詢
FTMP_FILE /var/log/btmp
#密碼時效控制
PASS_MAX_DAYS 99999 //可使用日數
PASS_MIN_DAYS 0 //多少日內不得變更
PASS_WARN_AGE 7 //失效幾日前提出警告
# 使用useradd自動取得UID的範圍
UID_MIN 1000
UID_MAX 60000
#使用groupadd自動取得GID的範圍
GID_MIN 1000
GID_MAX 60000
#密碼錯誤嘗試登入次數
LOGIN_RETRIES 5
# 需在幾秒內登入系統
LOGIN_TIMEOUT 60
#如果帳號目錄不存在,允許登入
DEFAULT_HOME yes
# 如果群組中沒有其他帳號,使用userdel移除帳號時會一併將該群組刪除
USERGROUPS_ENAB yes
/etc/skel/.bashrc
/etc/skel/.profile
新增帳號
useradd [-u UID] [-g 初始群組] [-G 次要群組] [-mM][-c 說明欄] [-d 家目錄絕對路徑] [-s shell] 使用者帳號名
選項與參數:
-u :後面接的是 UID ,
-g :群組名稱, initial group
-G :群組名稱,還可以加入的群組
-M :強制!不要建立使用者家目錄!(系統帳號預設值)
-m :強制!要建立使用者家目錄!(一般帳號預設值)
-c :說明
-d :指定某個目錄成為家目錄,而不要使用預設值。務必使用絕對路徑!
-r :建立一個系統的帳號,這個帳號的 UID 會有限制
-s :後面接一個 shell ,若沒有指定則預設是 /bin/bash
-e :後面接一個日期,格式為『YYYY-MM-DD』帳號失效日
-f :密碼是否會失效。0為立刻失效,-1 為永遠不失效(密碼只會過期而強制於登入時重新設定而已。)
範例一:
useradd -m peter
step 01 /etc/default/useradd
step 02 /etc/login.defs
step 03 /etc/skel/.bash* 複製到該帳號的根目錄之下
/etc/skel/ 預設有 .bashrc .profile 檔案,由於/etc/default/useradd 指定 SKEL=/etc/skel,因此新增帳號時,會將此目錄下的檔案複製到使用者帳號根目錄下。
範例二:
useradd -u 501 -g 100 -G 1001 -d /home/peter -m peter
由於加了 -m 所以系統會將 /etc/skel 下的 profile 複製到 /home/peter之下的 .bash* ,此外,還有mail spool的相關檔案
範例三:新增與root相同權限的帳號
useradd miffy
passwd miffy
將 miffy 的 uid 與 gid 改為0
useradd 的預設值
useradd -D
GROUP=100 <==預設的群組
HOME=/home <==預設的家目錄所在目錄
INACTIVE=-1 <==密碼失效日
EXPIRE= <==帳號失效日
SHELL=/bin/bash <==預設的 shell
SKEL=/etc/skel <==使用者家目錄的內容資料參考目錄
CREATE_MAIL_SPOOL=yes <==是否主動幫使用者建立郵件信箱(mailbox)
刪除帳號
userdel
連根目錄一起刪除
userdel -r
usermod [-cdegGlsuLU] username 修改帳號
-c :後面接帳號的說明
-d :後面接帳號的家目錄
-e :後面接日期,格式是 YYYY-MM-DD,也就是在 /etc/shadow 內的第八個欄位
-f :後面接天數,為 shadow 的第七欄位。
-g :後面接初始群組,修改 /etc/passwd 的第四個欄位!
-G :後面接次要群組,修改使用者能夠支援的群組,修改的是 /etc/group
-a :與 -G 合用,可『增加次要群組的支援』而非『設定』
-l :後面接帳號名稱。亦即是修改帳號名稱, /etc/passwd 的第一欄!
-s :後面接 Shell 的實際檔案,如 /bin/bash 或 /bin/csh
-u :後面接 UID 數字
-L :暫時將使用者的密碼凍結,僅改 /etc/shadow 的密碼欄。
-U :將 /etc/shadow 密碼欄的 ! 拿掉,帳號可恢復使用
gpasswd:群組管理員功能
gpasswd groupname
gpasswd [-A user1,...] [-M user3,...] groupname
gpasswd [-rR] groupname
選項與參數::若沒有任何參數時,表示給予 groupname 一個密碼(/etc/gshadow)
-A :將 groupname 的主控權交由後面的使用者管理(該群組的管理員)
-M :將某些帳號加入這個群組當中!
-r :將 groupname 的密碼移除
-R :讓 groupname 的密碼欄失效
gpasswd [-ad] user groupname
-a :將某位使用者加入到 groupname 這個群組當中!-d :將某位使用者移除出 groupname 這個群組當中。
groupadd 建立群組
groupadd testgroup <==建立群組
資料來源:鳥哥的 Linux 私房菜
相關設定檔
/etc/passwd 帳號設定檔
1.帳號名稱:
2.密碼:加密過的密碼欄位,若使用/etc/shadow,則此一欄位為x。若未使用shadow,且密碼欄位為*,則無法使用login
3.UID:使用者識別碼,0(系統管理員),1~1000(系統帳號)
4.GID:主要群組,定義在 /etc/group
5.使用者資訊說明欄:註解
6.家目錄:
7.Shell:(與系統的核心溝通以進行使用者的操作任務),若為 /sbin/nologin 無法登入
若是不想讓帳號登入,除密碼欄位設為*外,可使用passwd -l user ,或是在shell填入 /sbin/nologin
/etc/shadow 加密過的密碼檔
1.帳號名稱:
2.密碼:加密過的密碼欄位,在此欄位前加上 ! 或 * 改變密碼欄位長度,就會讓密碼『暫時失效』了。
3.最近更動密碼的日期
4.密碼不可被更動的天數,0沒限制
5.密碼需要重新變更的天數,99999沒限制
6.密碼需要變更期限前的警告天數
7.密碼過期後的帳號寬限時間(密碼失效日),不過如果密碼過期了, 那當你登入系統時,系統會強制要求你必須要重新設定密碼才能登入繼續使用喔,
8.帳號失效日期:
9.保留
日期的時間是以 1970 年 1 月 1 日作為 1 而累加的日期
/etc/group
1.群組名稱:
2.群組密碼:這個設定通常是給『群組管理員』使用的,目前很少有這個機會設定群組管理員,密碼已經移動到 /etc/gshadow去,這個欄位只會存在一個『x』
3.GID:就是群組的 ID 啊
4.此群組支援的帳號名稱:若有多個人員,以『,』隔開
/var/mail/帳號名稱 使用者郵件
newgrp: 有效群組的切換
exit 離開回原有效群組
參考資料:鳥哥的 Linux 私房菜
訂閱:
文章 (Atom)