標籤:http 使用 strong os 檔案 io
使用者組管理
1. groupadd
功能說明:建立群組。
語 法:groupadd [-g gid [-o]] [-r] [-f] [群組名稱]
補充說明:groupadd 可指定群組名稱來建立新的群組帳號.需要時可從系統中取得新群 組值。
參 數:
-g <群組識別碼> 設定欲使用的群組識別碼,group’s id。
執行個體 :
不加-g 則按照系統預設的gid建立組,跟使用者一樣,gid也是從500開始的
-g選項可以自訂gid
2. groupdel
功能說明:刪除群組。
語 法:groupdel [群組名稱]
補充說明:需要從系統上刪除群組時,可用groupdel指令來完成這項工作。倘若該群組中仍包括某些使用者,則必須先刪除這些使用者後,方能刪除群組。
執行個體:
沒有特殊選項。
3. groupmod
功能說明:更改群組識別碼或名稱。
語 法:groupmod [-g <群組識別碼> <-o>][-n <新群組名稱>][群組名稱]
補充說明:需要更改群組的識別碼或名稱時,可用groupmod指令來完成這項工作。
參 數:
-g <群組識別碼> 設定欲使用的群組識別碼。
-o 重複使用群組識別碼。
-n <新群組名稱> 設定欲使用的群組名稱。
使用者管理
1. useradd
功能說明:建立使用者帳號。
語 法:useradd [-mMnr][-c <備忘>][-d <登入目錄>][-e <有效期間限>][-f <緩衝天數>][-g <群組>][-G <群組>][-s <shell>][-u <uid>][使用者帳號] 或 useradd -D [-b][-e <有效期間限>][-f <緩衝天數>][-g <群組>][-G <群組>][-s <shell>]
補充說明:useradd可用來建立使用者帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是儲存在/etc/passwd文字檔中。
參 數:
-c<備忘> 加上備忘文字。備忘文字會儲存在passwd的備忘欄位中。
-d<登入目錄> 指定使用者登入時的啟始目錄。
-D 變更預設值.
-e<有效期間限> 指定帳號的有效期間限。
-f<緩衝天數> 指定在密碼到期後多少天即關閉該帳號。
-g<群組> 指定使用者所屬的群組。
-G<群組> 指定使用者所屬的附加群組。
-m 自動建立使用者的登入目錄。
-M 不要自動建立使用者的登入目錄。
-n 取消建立以使用者名稱稱為名的群組.
-r 建立系統帳號。
-s<shell> 指定使用者登入後所使用的shell。
-u<uid> 指定使用者ID。
實 例:
你會發現,建立test11時,加上了-M選項後,在/etc/passwd檔案中test11那行的第六欄位依然有/home/test11,可是ls查看該目錄時,會提示該目錄不存在。
-M選項的作用就是不建立使用者的家目錄。
2. userdel
功能說明:刪除使用者帳號。
語 法:userdel [-r][使用者帳號]
補充說明:userdel可刪除使用者帳號與相關的檔案。若不加參數,則僅刪除使用者帳號,而不刪除相關檔案。
參 數:
-f 刪除使用者登入目錄以及目錄中所有檔案。
執行個體:
-r 選項的作用是刪除使用者時,連同使用者的家目錄一起刪除。
3. usermod
功能說明:修改使用者帳號。
語 法:usermod [-LU][-c <備忘>][-d <登入目錄>][-e <有效期間限>][-f <緩衝天數>][-g <群組>][-G <群組>][-l <帳號名稱>][-s <shell>][-u <uid>][使用者帳號]
補充說明:usermod可用來修改使用者帳號的各項設定。
參 數:
-c<備忘> 修改使用者帳號的備忘文字。
-d登入目錄> 修改使用者登入時的目錄。
-e<有效期間限> 修改帳號的有效期間限。
-f<緩衝天數> 修改在密碼到期後多少天即關閉該帳號。
-g<群組> 修改使用者所屬的群組。
-G<群組> 修改使用者所屬的附加群組。
-l<帳號名稱> 修改使用者帳號名稱。
-L 鎖定使用者密碼,使密碼無效。
-s<shell> 修改使用者登入後所使用的shell。
-u<uid> 修改使用者ID。
-U 解除密碼鎖定。
其它相關命令
1. passwd(password)
功能說明:設定密碼。
語 法:passwd [-dklS][-u <-f>][使用者名稱稱]
補充說明:passwd指令讓使用者可以更改自己的密碼,而系統管理者則能用它管理系統使用者的密碼。只有管理者可以指定使用者名稱稱,一般使用者只能變更自己的密碼。
參 數:
-d 刪除密碼。本參數僅有系統管理者才能使用。
-f 強制執行。
-k 設定只有在密碼到期失效後,方能更新。
-l 鎖住密碼。
-s 列出密碼的相關資訊。本參數僅有系統管理者才能使用。
-u 解開已上鎖的帳號。
2. su(super user)
功能說明:變更使用者身份。
語 法:su [-flmp][--help][--version][-][-c <指令>][-s <shell>][使用者帳號]
補充說明:su可讓使用者暫時變更登入的身份。變更時須輸入所要變更的使用者帳號與密碼。
參 數:
-c<指令>或--command=<指令> 執行完指定的指令後,即恢複原來的身份。
-f或--fast 適用於csh與tsch,使shell不用去讀取開機檔案。
-.-l或--login 改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,LOGNAME。此外,也會變更PATH變數。
-m,-p或--preserve-environment 變更身份時,不要變更環境變數。
-s<shell>或--shell=<shell> 指定要執行的shell。
--help 顯示協助。
--version 顯示版本資訊。
[使用者帳號] 指定要變更的使用者。若不指定此參數,則預設變更為root
3. sudo
功能說明:以其他身份來執行指令。
語 法:sudo [-bhHpV][-s <shell>][-u <使用者>][指令] 或 sudo [-klv]
補充說明:sudo可讓使用者以其他的身份來執行指定的指令,預設的身份為root。在/etc/sudoers中設定了可執行sudo指令的使用者。若其未經授權的使用者企圖使用sudo,則會發出警告的郵件給管理員。使用者使用sudo時,必須先輸入密碼,之後有5分鐘的有效期間限,超到期限則必須重新輸入密碼。
參 數:
-b 在後台執行指令。
-h 顯示協助。
-H 將HOME環境變數設為新身份的HOME環境變數。
-k 結束密碼的有效期間限,也就是下次再執行sudo時便需要輸入密碼。
-l 列出目前使用者可執行與無法執行的指令。
-p 改變詢問密碼的提示符號。
-s<shell> 執行指定的shell。
-u<使用者> 以指定的使用者作為新的身份。若不加上此參數,則預設以root作為新的身份。
-v 延長密碼有效期間限5分鐘。
-V 顯示版本資訊。
認識
/etc/passwd
和
/etc/shadow
這兩個檔案可以說是linux系統中最重要的檔案之一。如果沒有這兩個檔案或者這兩個檔案出問題,則你是無法正常登入linux系統的。
/etc/passwd由’:’分割成7個欄位,每個欄位的具體含義是:
1)使用者名稱(如第一行中的root就是使用者名稱),代表使用者帳號的字串。使用者名稱字元可以是大小寫字母、數字、減號(不能出現在首位)、點以及底線,其他字元不合法。雖然使用者名稱中可以出現點,但不建議使用,尤其是首位為點時,另外減號也不建議使用,因為容易造成混淆。
2)存放的就是該帳號的口令,為什麼是’x’呢?早期的unix系統口令確實是存放在這裡,但基於安全因素,後來就將其存放到/etc/shadow中了,在這裡只用一個’x’代替。
3)這個數字代表使用者標識號,也叫做uid。系統識別使用者身份就是通過這個數字來的,0就是root,也就是說你可以修改test使用者的uid為0,那麼系統會認為root和test為同一個賬戶。通常uid的取值範圍是0~65535,0是超級使用者(root)的標識號,1~499由系統保留,作為管理帳號,普通使用者的標識號從500開始,如果我們自訂建立一個普通使用者,你會看到該賬戶的標識號是大於或等於500的。
4)表示組標識號,也叫做gid。這個欄位對應著/etc/group 中的一條記錄,其實/etc/group和/etc/passwd基本上類似。
5)注釋說明,該欄位沒有實際意義,通常記錄該使用者的一些屬性,例如姓名、電話、地址等等。不過,當你使用finger的功能時就會顯示這些資訊的(稍後做介紹)。
6)使用者的家目錄,當使用者登入時就處在這個目錄下。root的家目錄是/root,普通使用者的家目錄則為/home/username,這個欄位是可以自訂的,比如你建立一個普通使用者test1,要想讓test1的家目錄在/data目錄下,只要修改/etc/passwd檔案中test1那行中的該欄位為/data即可。
7)shell,使用者登入後要啟動一個進程,用來將使用者下達的指令傳給核心,這就是shell。Linux的shell有很多種sh, csh, ksh, tcsh, bash等,而Redhat/CentOS的shell就是bash。查看/etc/passwd檔案,該欄位中除了/bin/bash外還有/sbin/nologin比較多,它表示不允許該帳號登入。如果你想建立一個帳號不讓他登入,那麼就可以把該欄位改成/sbin/nologin,預設是/bin/bash。
再來看看/etc/shadow這個檔案,和/etc/passwd類似,用”:”分割成9個欄位。
1)使用者名稱,跟/etc/passwd對應。
2)使用者密碼,這個才是該帳號的真正的密碼,不過這個密碼已經加密過了,但是有些駭客還是能夠解密的。所以為了安全,該檔案屬性設定為600,只允許root讀寫。
3)上次更改密碼的日期,這個數字是這樣計算得來的,距離1970年1月1日到上次更改密碼的日期,例如上次更改密碼的日期為2012年1月1日,則這個值就是365*(2012-1970)+1=15331。
4)要過多少天才可以更改密碼,預設是0,即不限制。
5)密碼多少天后到期。即在多少天內必須更改密碼,例如這裡設定成30,則30天內必須更改一次密碼,否則將不能登入系統,預設是99999,可以理解為永遠不需要改。
6)密碼到期前的警告期限,若這個值設定成7,則表示當7天后密碼到期時,系統就發出警告告訴使用者,提醒使用者他的密碼將在7天后到期。
7)帳號失效期限。你可以這樣理解,如果設定這個值為3,則表示:密碼已經到期,然而使用者並沒有在到期前修改密碼,那麼再過3天,則這個帳號就失效了,即鎖定了。
8)帳號的生命週期,跟第三段一樣,是按距離1970年1月1日多少天算的。它表示的含義是,帳號在這個日期前可以使用,到期後帳號作廢。
9)作為保留用的,沒有什麼意義。