1. 程式人生 > >linux用戶和用戶組

linux用戶和用戶組

配置文件 默認 pmo comm 添加 無效 我們 ron between

--只有root用戶才能夠創建一個新用戶,如下的命令將新建一個登錄名user1的用戶

useradd user1

--這個用戶還不能夠登錄,因為還沒給它設置初始密碼,在默認情況下,將會在/home目錄下新建一個與用戶名相同的用戶主目錄。
--新增一個用戶的同時會創建一個新組,這個組與該用戶同名,而這個用戶就是該組的成員

--如果你想讓新的用戶歸屬於一個已經存在的組,則可以使用如下命令:

useradd -g usergroup1 user1

--而如果想讓其再屬於一個組usergroup2,那麽使用:

useradd -G usergroup2 user1

--passwd命令為其設置一個初始密碼。

--刪除一個用戶

userdel -r 用戶名

--增加一個組

groupadd <組名>

--刪除一個組

groupdel <組名>

--查看當前文件夾的組 用戶

ll | grep ftp

查看當前登錄用戶名

whoami

查看當前登錄用戶的組內成員

groups

查看gliethttp用戶所在的組,以及組內成員

groups gliethttp

/etc/group文件包含所有組
/etc/shadow和/etc/passwd系統存在的所有用戶名

1、/etc/group 解說;

/etc/group 文件是用戶組的配置文件,內容包括用戶和用戶組,並且能顯示出用戶是歸屬哪個用戶組或哪幾個用戶組,因為一個用戶可以歸屬一個或多個不同的用戶組;同一用 戶組的用戶之間具有相似的特征。比如我們把某一用戶加入到root用戶組,那麽這個用戶就可以瀏覽root用戶家目錄的文件,如果root用戶把某個文件 的讀寫執行權限開放,root用戶組的所有用戶都可以修改此文件,如果是可執行的文件(比如腳本),root用戶組的用戶也是可以執行的;

用戶組的特性在系統管理中為系統管理員提供了極大的方便,但安全性也是值得關註的,如某個用戶下有對系統管理有最重要的內容,最好讓用戶擁有獨立的用戶組,或者是把用戶下的文件的權限設置為完全私有;另外root用戶組一般不要輕易把普通用戶加入進去,

2、/etc/group 內容具體分析

/etc/group 的內容包括用戶組(Group)、用戶組口令、GID及該用戶組所包含的用戶(User),每個用戶組一條記錄;格式如下:
group_name:passwd:GID:user_list

在/etc/group 中的每條記錄分四個字段:
第一字段:用戶組名稱;
第二字段:用戶組密碼;
第三字段:GID
第四字段:用戶列表,每個用戶之間用,號分割;本字段可以為空;如果字段為空表示用戶組為GID的用戶名;

3, 與用戶(user)相關的配置文件;

/etc/passwd 註:用戶(user)的配置文件;
/etc/shadow 註:用戶(user)影子口令文件;

4.與用戶組(group)相關的配置文件;

/etc/group 註:用戶組(group)配置文件;
/etc/gshadow 註:用戶組(group)的影子文件;

5,管理用戶(user)的工具或命令;

useradd 註:添加用戶
adduser 註:添加用戶
passwd 註:為用戶設置密碼
usermod 註:修改用戶命令,可以通過usermod 來修改登錄名、用戶的家目錄等等;
pwcov 註:同步用戶從/etc/passwd 到/etc/shadow
pwck 註:pwck是校驗用戶配置文件/etc/passwd 和/etc/shadow 文件內容是否合法或完整;
pwunconv 註:是pwcov 的立逆向操作,是從/etc/shadow和 /etc/passwd 創建/etc/passwd ,然後會刪除 /etc/shadow 文件;
finger 註:查看用戶信息工具 id 註:查看用戶的UID、GID及所歸屬的用戶組 chfn 註:更改用戶信息工具
su 註:用戶切換工具 sudo 註:sudo 是通過另一個用戶來執行命令(execute a command as another user),su 是用來切換用戶,然後通過切換到的用戶來完成相應的任務,
但sudo 能後面直接執行命令,比如sudo 不需要root 密碼就可以執行root 賦與的執行只有root才能執行相應的命令;但得通過visudo 來編輯/etc/sudoers來實現;
visudo 註:visodo 是編輯 /etc/sudoers 的命令;也可以不用這個命令,直接用vi 來編輯 /etc/sudoers 的效果是一樣的;
sudoedit 註:和sudo 功能差不多;

6,管理用戶組(group)的工具或命令;

groupadd 註:添加用戶組;
groupdel 註:刪除用戶組;
groupmod 註:修改用戶組信息
groups 註:顯示用戶所屬的用戶組
grpck grpconv 註:通過/etc/group和/etc/gshadow 的文件內容來同步或創建/etc/gshadow ,如果/etc/gshadow 不存在則創建;
grpunconv 註:通過/etc/group 和/etc/gshadow 文件內容來同步或創建/etc/group ,然後刪除gshadow文件;

7, /etc/login.defs 配置文件;

文件是當創建用戶時的一些規劃,比如創建用戶時,是否需要家目錄,UID和GID的範圍;用戶的期限等等,這個文件是可以通過root來定義的;

比如Fedora 的 /etc/logins.defs 文件內容;

 1 #
 2 # Please note that the parameters in this configuration file control the
 3 # behavior of the tools from the shadow-utils component. None of these
 4 # tools uses the PAM mechanism, and the utilities that use PAM (such as the
 5 # passwd command) should therefore be configured elsewhere. Refer to
 6 # /etc/pam.d/system-auth for more information.
 7 #
 8 
 9 # *REQUIRED*
10 #   Directory where mailboxes reside, _or_ name of file, relative to the
11 #   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
12 #   QMAIL_DIR is for Qmail
13 #
14 #QMAIL_DIR    Maildir
15 MAIL_DIR    /var/spool/mail  #註:創建用戶時,要在目錄/var/spool/mail中創建一個用戶mail文件; 
16 #MAIL_FILE    .mail
17 
18 # Password aging controls:
19 #
20 #    PASS_MAX_DAYS    Maximum number of days a password may be used.
21 #    PASS_MIN_DAYS    Minimum number of days allowed between password changes.
22 #    PASS_MIN_LEN    Minimum acceptable password length.
23 #    PASS_WARN_AGE    Number of days warning given before a password expires.
24 #
25 PASS_MAX_DAYS    99999  #註:用戶的密碼不過期最多的天數;
26 PASS_MIN_DAYS    0     #註:密碼修改之間最小的天數;
27 PASS_MIN_LEN    5     #註:密碼最小長度;
28 PASS_WARN_AGE    7
29 
30 #
31 # Min/max values for automatic uid selection in useradd
32 #
33 UID_MIN                  1000 #註:最小UID為500 ,也就是說添加用戶時,UID 是從500開始的;
34 UID_MAX                 60000 #註:最大UID為60000;
35 # System accounts
36 SYS_UID_MIN               201
37 SYS_UID_MAX               999
38 
39 #
40 # Min/max values for automatic gid selection in groupadd
41 #
42 GID_MIN                  1000 #註:GID 是從500開始;
43 GID_MAX                 60000 #
44 # System accounts
45 SYS_GID_MIN               201
46 SYS_GID_MAX               999
47 
48 #
49 # If defined, this command is run when removing a user.
50 # It should remove any at/cron/print jobs etc. owned by
51 # the user to be removed (passed as the first argument).
52 #
53 #USERDEL_CMD    /usr/sbin/userdel_local
54 
55 #
56 # If useradd should create home directories for users by default
57 # On RH systems, we do. This option is overridden with the -m flag on
58 # useradd command line.
59 #
60 CREATE_HOME    yes #註:是否創用戶家目錄,要求創建;
61 
62 # The permission mask is initialized to this value. If not specified, 
63 # the permission mask will be initialized to 022.
64 UMASK           077
65 
66 # This enables userdel to remove user groups if no members exist.
67 #
68 USERGROUPS_ENAB yes
69 
70 # Use SHA512 to encrypt password.
71 ENCRYPT_METHOD SHA512 

8、/etc/default/useradd 文件;

通過useradd 添加用戶時的規則文件;
# useradd defaults file
GROUP=100
HOME=/home 註:把用戶的家目錄建在/home中;
INACTIVE=-1 註:是否啟用帳號過期停權,-1表示不啟用;
EXPIRE= 註:帳號終止日期,不設置表示不啟用;
SHELL=/bin/bash 註:所用SHELL的類型;
SKEL=/etc/skel 註: 默認添加用戶的目錄默認文件存放位置;也就是說,當我們用adduser添加用戶時,用戶家目錄下的文件,都是從這個目錄中復制過去的;


  1 後記:
  2 關於用戶(user)和用戶組(group)管理內容大約就是這麽多;只要把上面所說的內容了解和掌握,用戶(user)和用戶組(group)管理就差不多了;由於用戶(user)和用戶組(group)是和文件及目錄權限聯系在一起的,所以文件及目錄權限的操作也會獨立成文來給大家介紹;
  3  
  4 本文只是讓新手弟兄明白用戶(user)和用戶組(group)一些原理,所以我在寫此文的時候,大多是解說內容,我的意思是通過解說和索引一些命令,讓新手弟兄明白一點理論是比較重要的,技術操作無非是命令的用法;
  5 linux的用戶信息保存在/etc/passwd文件中,另外,/etc/shadow文件存放的是用戶密碼相關信息。
  6 /etc/passwd文件格式:
  7 用戶名:密碼:UID:GID:用戶信息:HOME目錄路徑:用戶shell
  8 其中UID為0則是用戶root,1~499為系統用戶,500以上為普通用戶
  9 /etc/shadow保存用戶密碼信息,包括加密後的密碼,密碼過期時間,密碼過期提示天數等。
 10 用戶組信息保存在/etc/group文件中.
 11 格式如下:
 12 用戶組名:組密碼:GID:組內帳號(多個帳號用逗號分隔)
 13 用戶登錄後,/etc/passwd文件裏的GID為用戶的初始用戶組。
 14 用戶的初始用戶組這一事實不會再/etc/group中體現。
 15 新建用戶命令:
 16 [[email protected] opt]#useradd 用戶名 -g 初始用戶組 -G 其他用戶組(修改/etc/group) -c 用戶說明 -u 指定UID
 17 建完用戶需要為用戶設置密碼:
 18 [[email protected] opt]#passwd 用戶名
 19 用戶要修改自己密碼命令:
 20 [[email protected] opt]#passwd
 21 修改用戶信息命令:
 22 [[email protected] opt]#usermod 參數 用戶名
 23 參數:
 24  -c 說明
 25  -g 組名 初始用戶組
 26 -e 過期日期 格式:YYYY-MM-DD
 27  -G 組名 其他用戶組
 28  -l 修改用戶名
 29  -L 鎖定賬號(在/etc/shadow文件中用戶對應密碼密碼串的前面加上兩個嘆號(!!))
 30  -U 解鎖
 31 刪除用戶命令:
 32 [[email protected] opt]#userdel [-r] 用戶名
 33 其中,參數-r為刪除用戶的home目錄。
 34 其實,可能在系統其他地方也有該用戶文件,要完整刪除一個用戶和其文件要先找到屬於他的文件:
 35 [[email protected] opt]#find / -user 用戶名
 36 然後刪除,再運行userdel刪除用戶。
 37  
 38 查看可用shell命令:
 39 [[email protected] opt]#chsh -l
 40 修改自己的shell命令:
 41 [[email protected] opt]#chsh -s
 42  
 43 查看自己或某人UID/GID信息:
 44 [[email protected] opt]#id [用戶名]
 45 返回信息中groups為有效用戶組
 46  
 47 新增用戶組命令:
 48 [[email protected] opt]#groupadd 用戶組名
 49  
 50 修改用戶組名命令:
 51 [[email protected] opt]#groupmod -n 名稱
 52  
 53 刪除用戶組命令:
 54 [[email protected] opt]#groupdel 用戶組名
 55  
 56 設置用戶組密碼命令:
 57 [[email protected] opt]#gpasswd 用戶組名
 58  
 59 如果gpasswd加上參數則有其他功能
 60  
 61 設置用戶組管理員命令:
 62 [[email protected] opt]#gpasswd -A 用戶名 用戶組名
 63  
 64 添加某帳號到組命令:
 65 [[email protected] opt]#gpasswd -M 用戶名 用戶組名
 66  
 67 從組中刪除某帳號命令:
 68 [[email protected] opt]#gpasswd -d 用戶名 用戶組名
 69  
 70 passwd相關參數操作:
 71 -l 鎖用戶
 72 -u 解鎖用戶
 73 -n 天數  密碼不可改天數
 74 -x 天數  密碼過期天數
 75 -w 天數  警告天數
 76  
 77  文件權限知識
 78  
 79 先看個實例:
 80 [[email protected] opt]#ls -al
 81 ls -al 命令是列出目錄的所有文件,包括隱藏文件。隱藏文件的文件名第一個字符為.
 82 -rw-r--r--  1 root root    81 08-02 14:54 gtkrc-1.2-gnome2
 83 -rw-------  1 root root   189 08-02 14:54 ICEauthority
 84 -rw-------  1 root root    35 08-05 10:02 .lesshst
 85 drwx------  3 root root  4096 08-02 14:54 .metacity
 86 drwxr-xr-x  3 root root  4096 08-02 14:54 nautilus
 87  
 88 列表的列定義如下:
 89 [權限屬性信息] [連接數] [擁有者] [擁有者所屬用戶組] [大小] [最後修改時間] [文件名]
 90  
 91 權限屬性列表為10個字符:
 92 第一個字符表示文件類型,d為目錄 -為普通文件 l為連接 b為可存儲的接口設備 c為鍵盤鼠標等輸入設備
 93 23、4個字符表示所有者權限,56、7個字符表示所有者同組用戶權限,89、10為其他用戶權限
 94 第二個字符表示所有者讀權限,如果有權限則為r,沒有權限則為-
 95 第三個字符表示所有者寫權限,如果有權限則為w,沒有權限則為-
 96 第四個字符表示所有者執行權限,如果有權限則為x,沒有權限則為-
 97 第五個字符表示所有者同組用戶讀權限,如果有權限則為r,沒有權限則為-
 98 第六個字符表示所有者同組用戶寫權限,如果有權限則為w,沒有權限則為-
 99 第七個字符表示所有者同組用戶執行權限,如果有權限則為x,沒有權限則為-
100 第八個字符表示其他非同組讀權限,如果有權限則為r,沒有權限則為-
101 第九個字符表示其他非同組寫權限,如果有權限則為w,沒有權限則為-
102 第十個字符表示其他非同組執行權限,如果有權限則為x,沒有權限則為-
103  
104 修改文件所屬組命令:
105 [[email protected] opt]#chgrp [-R] 組名 文件名
106 其中-R為遞歸設置
107  
108 修改文件的所有者和組命令:
109 [[email protected] opt]#chown [-R] 用戶[:用戶組] 文件名
110  
111 修改文件訪問權限命令:
112 [[email protected] opt]#chmod [-R] 0777 文件名
113  
114 至此,用戶、文件和權限相關的東西,就總結個7788了,接下來的就是,平常要敢於用各種命令,勤於看看本篇總結啦。
115 ====================================================================
116 linux 查看用戶及用戶組的方法
117 whois
118 功能說明:查找並顯示用戶信息。
119 語  法:whois [帳號名稱]
120 補充說明:whois指令會去查找並顯示指定帳號的用戶相關信息,因為它是到Network Solutions 的WHOIS數據庫去查找,所以該帳號名稱必須在上面註冊方能尋獲,且名稱沒有大小寫的差別。
121 ---------------------------------------------------------
122 whoami
123 功能說明:先似乎用戶名稱。
124 語  法:whoami [--help][--version]
125 補充說明:顯示自身的用戶名稱,本指令相當於執行"id -un"指令。
126 參  數:
127 --help  在線幫助。
128 --version  顯示版本信息。
129 ---------------------------------------------------
130 who
131 功能說明:顯示目前登入系統的用戶信息。
132 語  法:who [-Himqsw][--help][--version][am i][記錄文件]
133 補充說明:執行這項指令可得知目前有那些用戶登入系統,單獨執行who指令會列出登入帳號,使用的    終端機,登入時間以及從何處登入或正在使用哪個X顯示器。
134 參  數:
135 -H或--heading  顯示各欄位的標題信息列。
136 -i或-u或--idle  顯示閑置時間,若該用戶在前一分鐘之內有進行任何動作,將標示成"."號,如果該用戶已超過24小時沒有任何動作,則標示出"old"字符串。
137 -m  此參數的效果和指定"am i"字符串相同。
138 -q或--count  只顯示登入系統的帳號名稱和總人數。
139 -s  此參數將忽略不予處理,僅負責解決who指令其他版本的兼容性問題。
140 -w或-T或--mesg或--message或--writable  顯示用戶的信息狀態欄。
141 --help  在線幫助。
142 --version  顯示版本信息。
143 ----------------------------------------------------
144 w
145 功能說明:顯示目前登入系統的用戶信息。
146 語  法:w [-fhlsuV][用戶名稱]
147 補充說明:執行這項指令可得知目前登入系統的用戶有那些人,以及他們正在執行的程序。單獨執行w
148 指令會顯示所有的用戶,您也可指定用戶名稱,僅顯示某位用戶的相關信息。
149 參  數:
150 -f  開啟或關閉顯示用戶從何處登入系統。
151 -h  不顯示各欄位的標題信息列。
152 -l  使用詳細格式列表,此為預設值。
153 -s  使用簡潔格式列表,不顯示用戶登入時間,終端機階段作業和程序所耗費的CPU時間。
154 -u  忽略執行程序的名稱,以及該程序耗費CPU時間的信息。
155 -V  顯示版本信息。
156 -----------------------------------------------------
157 finger命令
158 finger 命令的功能是查詢用戶的信息,通常會顯示系統中某個用戶的用戶名、主目錄、停滯時間、登錄時間、登錄shell等信息。如果要查詢遠程機上的用戶信息,需要在用戶名後面接“@主機名”,采用[用戶名@主機名]的格式,不過要查詢的網絡主機需要運行finger守護進程。
159 該命令的一般格式為:
160 finger [選項] [使用者] [用戶@主機]
161 命令中各選項的含義如下:
162 -s 顯示用戶的註冊名、實際姓名、終端名稱、寫狀態、停滯時間、登錄時間等信息。
163 -l 除了用-s選項顯示的信息外,還顯示用戶主目錄、登錄shell、郵件狀態等信息,以及用戶主目錄下的.plan、.project和.forward文件的內容。
164 -p 除了不顯示.plan文件和.project文件以外,與-l選項相同。 
165 [例]在本地機上使用finger命令。
166 $ finger xxq
167 Login: xxq Name:
168 Directory: /home/xxq Shell: /bin/bash
169 Last login Thu Jan 1 21:43 (CST) on tty1
170 No mail.
171 No Plan. 
172 $ finger
173 Login Name Tty Idle Login Time Office Office Phone
174 root root *1 28 Nov 25 09:17
175 ……
176 ------------------------------------------------------------------
177 /etc/group文件包含所有組
178 /etc/shadow和/etc/passwd系統存在的所有用戶名
179 修改當前用戶所屬組的方法
180 usermod 或者可以直接修改 /etc/paaawd文件即可
181 ----------------------------------------------------------------
182 vlock(virtual console lock)
183 功能說明:鎖住虛擬終端。
184 語  法:vlock [-achv]
185 補充說明:執行vlock指令可鎖住虛擬終端,避免他人使用。
186 參  數:
187 -a或--all  鎖住所有的終端階段作業,如果您在全屏幕的終端中使用本參數,則會將用鍵盤
188 切換終端機的功能一並關閉。
189 -c或--current  鎖住目前的終端階段作業,此為預設值。
190 -h或--help  在線幫助。
191 -v或--version  顯示版本信息。
192 --------------------------------------------------------
193 usermod
194 功能說明:修改用戶帳號。
195 語  法:usermod [-LU][-c <備註>][-d <登入目錄>][-e <有效期限>][-f <緩沖天數>][-g <群組>][-G <群組>][-l <帳號名稱>][-s ][-u ][用戶帳號]
196 補充說明:usermod可用來修改用戶帳號的各項設定。
197 參  數:
198 -c<備註>  修改用戶帳號的備註文字。
199 -d登入目錄>  修改用戶登入時的目錄。
200 -e<有效期限>  修改帳號的有效期限。
201 -f<緩沖天數>  修改在密碼過期後多少天即關閉該帳號。
202 -g<群組>  修改用戶所屬的群組。
203 -G<群組>  修改用戶所屬的附加群組。
204 -l<帳號名稱>  修改用戶帳號名稱。
205 -L  鎖定用戶密碼,使密碼無效。
206 -s  修改用戶登入後所使用的shell。
207 -u  修改用戶ID。
208 -U  解除密碼鎖定。
209 -------------------------------------------------------
210 userdel
211 功能說明:刪除用戶帳號。
212 語  法:userdel [-r][用戶帳號]
213 補充說明:userdel可刪除用戶帳號與相關的文件。若不加參數,則僅刪除用戶帳號,而不刪除相關文件。
214 參  數:
215 -f  刪除用戶登入目錄以及目錄中所有文件。
216 ----------------------------------------------------------
217 userconf
218 功能說明:用戶帳號設置程序。
219 語  法:userconf [--addgroup <群組>][--adduser <用戶ID><群組><用戶名稱>][--delgroup <群組>][--deluser <用戶ID>][--help]
220 補充說明:userconf實際上為linuxconf的符號連接,提供圖形界面的操作方式,供管理員建立與管理各類帳號。若不加任何參數,即進入圖形界面。
221 參  數:
222 --addgroup<群組>  新增群組。
223 --adduser<用戶ID><群組><用戶名稱>  新增用戶帳號。
224 --delgroup<群組>  刪除群組。
225 --deluser<用戶ID>  刪除用戶帳號。
226 --help  顯示幫助。
227 ------------------------------------------------------
228 useradd
229 功能說明:建立用戶帳號。
230 語  法:useradd [-mMnr][-c <備註>][-d <登入目錄>][-e <有效期限>][-f <緩沖天數>][-g <群組>][-G <群組>][-s ][-u ][用戶帳號] 或 useradd -D [-b][-e <有效期限>][-f <緩沖天數>][-g <群組>][-G <群組>][-s ]
231 補充說明:useradd可用來建立用戶帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是保存在/etc/passwd文本文件中。
232 參  數:
233 -c<備註>  加上備註文字。備註文字會保存在passwd的備註欄位中。 
234 -d<登入目錄>  指定用戶登入時的啟始目錄。
235 -D  變更預設值.
236 -e<有效期限>  指定帳號的有效期限。
237 -f<緩沖天數>  指定在密碼過期後多少天即關閉該帳號。
238 -g<群組>  指定用戶所屬的群組。
239 -G<群組>  指定用戶所屬的附加群組。
240 -m  自動建立用戶的登入目錄。
241 -M  不要自動建立用戶的登入目錄。
242 -n  取消建立以用戶名稱為名的群組.
243 -r  建立系統帳號。
244 -s   指定用戶登入後所使用的shell。
245 -u  指定用戶ID。
246 
247 
248 --mac
249 --aliyun
250 myAliYun88*
251         ssh [email protected]112.126.73.177
252         yes
253         root的密碼    
254 創建用戶
255 
256     useradd -d /usr/liuzhipeng -m liuzhipeng
257     passwd liuzhipeng
258     
259     vim /etc/sudoers
260     /root
261     :noh
262     

linux用戶和用戶組