Linux用戶和組管理

在管理linux中,賬戶的管理是重要的一個環節,它是權限控制的重要的組成部分。也是管理員管理整個linux中十分基礎的一部分。


一、用戶和組相關的配置文件

/etc/passwd: 用戶的帳號信息

/etc/shadow: 用戶密碼和相關的帳戶設定

/etc/group: 組的帳號信息

/etc/gshaow: 組的密碼信息



1、/etc/passwd

在passwd文件中,一行代表一個賬戶的信息,有多少行,就代表有多少個用戶。如下,查看前3個用戶,可以看到相關的賬戶配置信息。

[root@bogon /]# head -3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin


通過man 5 passwd中,可以看到/etc/passwd的詳細解析。

每一個用戶的格式爲

account:password:UID:GID:GECOS:directory:shell

(1)account  賬戶名稱,名稱不應該出現大寫字母。

(2)password  賬戶的密碼錶示,在此處顯示爲x,密碼的詳細信息會保存在/etc/shadow文件中,詳細可瀏覽下文。

(3)UID  標示賬戶的ID。

        需要注意的是:

            0爲系統管理員。

            1-500爲系統用戶,可以分配改數字段給系統進程使用。

            500-65535爲自定義的用戶,如果要建立一個普通得賬號,使用該數字段。

(4)GID 該賬戶所屬的組ID。組相關的信息保存在/etc/group,詳細可瀏覽下文。

(5)GECOS,General Electric Comprehensive Operating System。其實就是用戶的註釋信息。

(6)directory 用戶的家目錄。如root賬號,家目錄在/root。如果新建一個用戶,用戶默認家目錄在/home/yourAccount。

(7)shell 用戶的默認shell,如果爲空,默認使用/bin/sh。


2、/etc/shadow

如上文提到,用戶的密碼詳細信息,將保存在/etc/shadow中。同樣,每一行代表一個用戶的密碼詳細信息。如下,查看前3個賬戶密碼,可以看到相關的賬戶信息。

[root@bogon ~]# head -3 /etc/shadow
root:b3Vg6K9PN86O6:16673:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::


(1)賬號名稱。與/etc/passwd下的用戶名對應。

(2)密碼。經過加密後的密碼。可以看到root賬戶密碼加密後是一串複雜的編碼。bin該位爲*,代表該用戶是不允許登陸的。如果在賬戶密碼的第一位加上*,那麼,該賬戶就不能登陸到系統了。

(3)上次更改密碼的日期。記錄的是從1970 年 1 月 1 日到更改密碼時候過經過的天數。

(4)密碼不可被更改的天數。設置爲0,則隨時可以改。

(5)需要重新更改密碼的天數。

(6)到達需要重新更改密碼的期限前得警告天數。

(7)賬戶失效的期限。過了失效期限還沒有重新設置密碼,則賬戶會被停用

(8)賬戶取消日期。這個字段跟第三個字段表示的情況一樣,都是從1970 年 1 月 1 日開始計算。

(9)被保留下來的位置。



3、/etc/group

用戶組的信息將會保存在改文件中,組對應的用戶列表,也會保存在裏面。同樣,每一行代表一個組的詳細信息。如下,查看前3個組,可以看到相關的賬戶信息。

[root@bogon ~]# head -3 /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon


每一個組的格式爲

 group_name:passwd:GID:user_list

(1)組名。

(2)組密碼。一般不會設置。同樣會表示爲x,詳細信息在/etc/gshaow保存。

(3)組ID。

(4)該組存在的賬戶。


二、賬戶管理相關命令

1、useradd

新增一個賬戶

格式:useradd 選項 賬戶名稱

常用選項:

-u UID:指定新建賬戶的ID。

-g GID:指定賬戶所屬的基本組。

-G GID: 指定賬戶所屬的附加組。

-c ‘COMMIT’:給新建賬戶添加註釋。


如: 

# useradd -u 1100 test


2、userdel

刪除指定的賬戶

格式:userdel 選項 賬戶名稱 

-r 連同改賬戶的家目錄一併刪除

如: 

#userdel -r test


3、groupadd

添加一個組

格式:groupadd 選項 組名

-g GID:指定新建組的組ID。

-r 創建系統組

如:

# groupadd -g 1101 testgrp


4、groupdel

刪除指定的組

格式:groupdel 組名

如: 

# groupdel testgrp


5、passwd

給指定的賬戶設定密碼

格式:passwd USERNAME

--stdin :通過標準的輸入給指定的賬戶設定密碼 

如:

# passwd test
# echo ’testpwd’ | passwd --stdin test


6、usermod

修改賬戶設定的信息

格式:usermod 選項 USERNAME

-u UID:修改賬戶ID

-g GID:修改賬戶的組ID

-G GID:修改賬戶的附加組

-c :修改賬戶的備註信息

-d :修改賬戶的家目錄路徑

-s :修改賬戶的SHELL

-l  :修改賬戶的名稱

-L :lock(鎖定)賬戶

-U :unlock(解鎖)賬戶

如:

# usermod -u 1101 test
# usermod -l testing test


7、groupmod

修改組信息

格式:groupmod 選項 GROUPNAME

-g GID:修改指定的組ID

-n :設定新的組名

如:

# groupmod -g 502 test
# groupmod -n testing test


8、chage 

修改用戶的屬性

格式:chage 選項 USERNAME

-m :最短使用時間

-M : 最長使用時間

-I  :非活動期限

如:

#chage -m 2 testing


9、id

查看賬戶的信息

格式:id 選項 USERNAME

-u UID:查看賬戶ID

-g GID:查看組ID

如:

# id -u testing


10、su

切換用戶

格式 su 選項 USERNAME

如:

# su -root


綜合練習:

1、創建用戶mandriva, ID2200 基本組爲distro,組ID3300, 附加組爲peguin

[root@bogon /]# groupadd -g 3300 distro
[root@bogon /]# groupadd peguin
[root@bogon /]# useradd -u 2200 -g distro -G peguin mandriva


2、創建用戶gentoo,其全名爲“Gentoo”,默認shell/bin/tcsh

[root@bogon /]# useradd -c 'Gentoo' -s /bin/tcsh gentoo


3、修改mandrivaUID4400, 基本組爲linux 附加組爲distrogentoo;

[root@bogon /]# usermod -u 4400 -g linux -a -G distro,gentoo mandriva


 4、給gentoo添加密碼,並設定其密碼最短使用期限爲2天,最長爲60天,警告爲3天,非活動期限爲7天;

[root@bogon /]# echo "gentoopwd" | passwd --stdin gentoo
[root@bogon /]# chage -m 2 -M 60 -I 7 gentoo


gentoo 賬戶在/etc/shadow文件中記錄的信息變成如下:

gentoo:$6$IdeEfsVq$8Ry23Fj..hKe60swCdYHYpFW9pg6rXIry1n9xnjw.4rUYAC3Pv6A2JueZblguCRJR13R2jC0HD6Q39uMzp.Gu/:16680:2:60:7:7::





























發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章