一:使用者及使用者組存放檔案
1、/etc/passwd
其中每一行記錄對應著一個使用者,每行記錄又被冒號(:)分隔為7個欄位,其格式和具體含義如下:
[cpp]view plaincopyprint?
- username:password:UserID:GroupID:comment:homedirectory:shell
a)username 使用者名稱
它唯一地標識了一個使用者帳號,使用者在登入時使用的就是它。
b)password 該帳號的口令。passwd檔案中存放的密碼是經過加密處理的。
c)User ID 使用者識別碼,簡稱UID。Linux系統內部使用UID來標識使用者,而不是使用者名稱。UID是一個整數,使用者的UID互不相同。
d)Group ID 使用者組識別碼,簡稱GID。不同的使用者可以屬於同一個使用者組,享有該使用者組共有的許可權。與UID類似,GID唯一地標識了一個使用者組。
e)comment 這是給使用者帳號做的註解。它一般是使用者真實姓名、電話號碼、住址等,當然也可以是空的。
f)home directory 主目錄。這個目錄屬於該帳號,當使用者登入後,它就會被置於此目錄中,就像回到家一樣。一般來說,root帳號的主目錄是/root,其他帳號的家目錄都在/home目錄下,並且和使用者名稱同名。
g)login command 使用者登入後執行的命令。一般來說,這個命令將啟動一個shell程式。例如,用bbs帳號登入後,會直接進入bbs系統,這是因為bbs帳號的login command指向的是bbs程式,等系統登入到bbs時就自動運行這些命令。
系統帳號:系統中還有一些預設的帳號,如daemon、bin等。這些帳號有著特殊的用途,一般用於進行系統管理。這些帳號的口令大部分用(x)號表示,代表它們不能在登入時使用。
2、/etc/shadow
為了增強系統的安全性,Linux系統還可以為使用者提供MD5和Shadow安全密碼服務。如果在安裝Linux 時在相關配置的選項上選中了MD5和Shadow服務,那麼將看到的/etc/passwd檔案裡的passwd項上無論是什麼使用者,都是一個“x”,這就表示這些使用者都登入不了;系統其實是把真正的密碼資料放在了/etc/shadow檔案裡。
3、/etc/group 檔案
組名:口令:組標識號:組內使用者列表
a) “組名”是使用者組的名稱,由字母或數字構成。與/etc/passwd中的登入名稱一樣,組名不應重複。
b) “口令”欄位存放的是使用者組加密後的口令字。一般Linux系統的使用者組都沒有口令,即這個欄位一般為空白,或者是*。
c) “組標識號”與使用者標識號類似,也是一個整數,被系統內部用來標識組。
d) “組內使用者列表”是屬於這個組的所有使用者的列表/b],不同使用者之間用逗號(,)分隔。這個使用者組可能是使用者的主組,也可能是附加組。
二:使用者操作
1、:使用者添加
建立使用者的不同方式
添加使用者使用useradd或者adduser來完成、補充部分有詳細的命令說明。
下面三行每行命令都添加了一個使用者、但是結果是不同的。
[html]view plaincopyprint?
- useraddtest_user_1
a)只添加一個使用者、什麼都沒有、包括home主目錄、登入後使用的shell。屬於預設的同名組——test_user_1。此組自動建立、可使用參數指定不建立組。
[html]view plaincopyprint?
- useradd–s/bin/bashtest_user_2
b)添加一個指定shell的普通使用者、屬於預設的同名組——test_user_2。此組自動建立、可使用參數指定不建立組。
[html]view plaincopyprint?
- groupaddtest_group_1
- useradd–m–s/bin/bash–gtest_group_1test_user_3
c)第一行添加一個組、添加一個使用者、擁有home主目錄、登入後使用的shell、指定所在分組。
建立好使用者記得指定密碼、
[html]view plaincopyprint?
- passwdusernamepassword
exp: 指定test_user_1的密碼是1
[html]view plaincopyprint?
- passwdtest_user_11
完善被建立使用者
上面第一行添加的使用者不能正常使用、但是我們可以通過以下步驟來嘗試解決、
a) 指定好密碼
b) root身份登入在home下建立test_user_1檔案、修改此檔案屬性、主要是修改使用者、使用者組、許可權
c) 編輯/etc/passwd檔案下test_user_1的shell 、改為/bin/bash 。
d) 切換試試、如果正常使用、則打完收工。
exp:
[html]view plaincopyprint?
- passwdtest_user_11
- mkdir/home/test_usre_1
- chown–Rtest_user_1:test_group_1/home/test_user_1
- usermod–s/bin/bashtest_usre_1
- logout
adduser
以人機互動的方式建立一個比較完善的普通使用者。
2:使用者刪除
刪除方式
a)userdel username ——只會刪除使用者、不會刪除使用者主目錄(如果有的話)、也有可能會刪除同名建立的使用者組(如果這個使用者組下只有這一個使用者的話)。
b)userdel –r usrename —— 不但會刪除使用者、也會刪除使用者主目錄(如果有的話,沒有則會有提示)也有可能會刪除同名建立的使用者組(如果這個使用者組下只有這一個使用者的話)。
[html]view plaincopyprint?
- exp:
- userdeltest_usre_1
- userdel–rtest_user_2
[html]view plaincopyprint?
- userdeltest_user_1
如果test_user_1在建立的時候沒有指定group、並且同時建立的同名group——test-user_group下沒有其他使用者、則test_usre_group也會被刪除。
3:使用者的修改
命令usermod:
常用的就是修改使用者名稱、使用者密碼、使用者組、和使用的shell和home主目錄
a) 修改使用者名稱:
[html]view plaincopyprint?
- usermod–ltest_usre_modtest_user_1
b) 修改shell
[html]view plaincopyprint?
- usermod–s/bin/bashtest_user_mod
c) 修改使用者組
[html]view plaincopyprint?
- usermod–gtest_group_1test_user_mod
d) 添加使用者組
[html]view plaincopyprint?
- usermod–Gtest_group_2test_user_mod
4:使用者的查看
所有使用者的資訊都放在/etc/passwd這個檔案下面。可以使用cat/etc/passwd這個命令查看。
三:使用者組
1:添加使用者組
groupadd命令、可以在命令列視窗中使用 man groupadd 或者 groupadd info 或者groupadd –help查看使用方法
a) 建立一個任何使用者組的使用者test_nogpuser_1
[html]view plaincopyprint?
- useradd–Ntest_nogpuser_1
b) 建立一個沒有任何使用者的使用者組test_nousergp_1
[html]view plaincopyprint?
- groupaddtest_nousergp_1
c) 將使用者test_nogpuser_1添加到test_nousergp_1中
gpasswd 命令用於操作使用者組中使用者、添加刪除使用者、刪除使用者組密碼等操作、可以在命令列視窗鍵入 gpasswd –help擷取說明
[html]view plaincopyprint?
- gpasswd–atest_nogpusretest_nousergp_1
d)將使用者test_nogpuser_1從test_nousergp_1中刪除
[html]view plaincopyprint?
- gpasswd–dtest_nogpusertest_nousergp_1
2:使用者組修改
groupmod 命令、命令視窗輸入groupmdo –help 查看協助
a) 修改使用者組名
[html]view plaincopyprint?
- groupmod–ntest_del_grouptest_nousergp_1
b) 修改使用者組GID
[html]view plaincopyprint?
- groupmod–p1test_del_group
3:刪除使用者組
a) 建立使用者的時候預設建立的使用者組、在不添加其他使用者的情況下、使用者被刪除、則此使用者組就會被刪除。
b) 不能刪除有使用者的使用者組
c) 刪除空使用者的使用者組
[html]view plaincopyprint?
- groupdeltest_nousergp_1
補充: 1、命令: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 解除密碼鎖定。
2、命令:useradd 參數詳解
-c 備忘加上備忘。並會將此備忘文字加在/etc/passwd中的第5項欄位中
-d 使用者主資料夾。指定使用者登入所進入的目錄,並賦予使用者對該目錄的的完全控制權
-e 有效期間限。指定帳號的有效期間限。格式為YYYY-MM-DD,將儲存在/etc/shadow
-f 緩衝天數。限定密碼到期後多少天,將該使用者帳號停用
-g 主要組。設定使用者所屬的主要組
-G 次要組。設定使用者所屬的次要組,可設定多組
-M 強制不建立使用者主資料夾
-m 強制建立使用者主資料夾,並將/etc/skel/當中的檔案複製到使用者的根目錄下
-p 密碼。輸入該帳號的密碼
-s shell。使用者登入所使用的shell
-u uid。指定帳號的標誌符user id,簡稱uid
3、命令gpasswd參數詳解
-a, --add USER 添加使用者到組
-d, --delete USER 從組刪除使用者
-h, --help 顯示協助資訊
-r, --remove-password 刪除密碼
-R, --restrict 限制使用者登入組,只有組中的成員才可以用newgrp加入該組
-M, --members USER,... 指定群組成員和-A的用途差不多
-A, --administrators ADMIN,... 指定管理員