新疆喜乐彩玩法
您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

CentOS系統管理用戶和用戶組的詳解

添加時間:2019-11-24 20:35:54  添加: 思海網絡 
一:新建用戶和用戶組:useradd和groupadd

1,useradd的參數:

-u:指定UID標記號

-d:指定宿主目錄,缺省為/home/用戶名

-e:指定賬號失效時間(下面usermod也有此選項)

-g:指定所屬的基本組(組名或GID)

-G:指定所屬的附加組(組名或GID)

-M:不為用戶建立并初始化宿主目錄、

-s:指定用戶的登錄shell(默認為/bin/bash,一般不用改,在建立非登錄用戶的時候可以指定

為/sbin/nologin)

注:這些參數都能分開用,不沖突的可以在建立用戶的時候連著用。

示例1:添加用戶stu01,指定UID為520,宿主目錄為/public/stu01,指定基本組為users(注:系統中本身就

存在users這個組GID為100),附加組為tech:

[[email protected] ~]# useradd -u 520 -d /public/stu04 -g users-G tech stu01

[[email protected] ~]# id stu01

uid=520(stu01) gid=100(users) groups=100(users),200(tech)

示例2:添加用戶stu02,不為用戶建立宿主目錄:

[[email protected] ~]# useradd -M -s /sbin/nologin stu02   //創建一個非登錄用戶stu02

[[email protected] ~]# cat /etc/passwd | grep stu02

stu02:x:1001:1001::/home/stu02:/sbin/nologin      //-s參數指定bash shell

2,groupadd的參數:

gourpadd [-g GID] 組名

-g參數指定了新建用戶組的GID

[[email protected] ~]# groupadd -g 600 stu //添加一個組stu,指定其GID為600

[[email protected] ~]# cat /etc/group | grep stu   //查看stu組的信息

stu:x:600:

二:刪除用戶和用戶組

1,userdel

-格式:userdel [-r] 用戶名

添加-r選項,宿主目錄/用戶郵件也一并刪除

示例:

[[email protected]~]# useradd user1;useradd user2 //添加用戶user1和user2

[[email protected]~]# ll -d /home/user1/ /var/mail/user1 /home/user2/ /var/mail/user2 //查看user1、user2的宿主目錄和郵件文件是否存在

drwx------ 3 user1 user1 4096 02-1809:53 /home/user1/

drwx------ 3 user2 user2 4096 02-1809:53 /home/user2/

-rw-rw---- 1 user1 mail     0 02-18 09:53 /var/mail/user1

-rw-rw---- 1 user2 mail     0 02-18 09:53 /var/mail/user2

[[email protected]~]# userdel user1 ; userdel -r user2    //加不加-r的區別

[[email protected]~]# ll -d /home/user1/ /var/mail/user1 /home/user2/ /var/mail/user2

ls:/home/user2/: 沒有那個文件或目錄//加-r之后刪除宿主目錄

ls:/var/mail/user2: 沒有那個文件或目錄//加-r之后刪除郵件文件

drwx------ 3 1002 1002 4096 02-1809:53 /home/user1/

-rw-rw---- 1 1002 mail    0 02-18 09:53 /var/mail/user1


2,groupdel:刪除用戶組

-格式:groupdel組名

-刪除的目標組不能是用戶的基本組。

-在刪除用戶組的時候,如果該組為某個成員的私有組,則無法刪除,必須先刪除組里面的成員,才能成功刪除該組。

[[email protected]~]# id user1    //查看user1的基本組和附加組

uid=1002(user1) gid=1002(user1) groups=1002(user1),600(stu)

[[email protected] ~]# grep stu /etc/group

stu:x:600:user1,user2

上面的操作可以看到,user1的基本組為user1,附加組為stu,那么現在只能刪除stu,而不能直接刪除組user1,因為user1組是一個基本組,要想刪除user1,必須先刪除user1用戶,再刪除user1組,而stu組不是一個基本組,只是user1和user2的附加組,所以可以直接刪除。

[[email protected]~]# groupdel user1  //嘗試刪除user1用戶組,因為user1組為user1的基本組,所以需要先刪除user1用戶,才能刪除user1組。

groupdel:不能刪除用戶的主組。

[[email protected]~]# groupdel stu

[[email protected]~]# grep stu /etc/group //刪除stu組之后,不能看到/etc/group文件里面的stu組的信息了。

三:為用戶和用戶組添加密碼

1,為用戶添加密碼:

Passwd命令:

選項有:

-d :清空用戶的密碼,使之無需密碼即可登錄

-l :鎖定用戶賬號

-S :查看用戶賬號的狀態(是否被鎖定)

-u :解鎖用戶賬號

- - stdin:標準輸入(比如管道)取密碼

注:刪除密碼用passwd –d 而不能用echo “” | passwd - -stdin 用戶名

示例:

[[email protected]]# cat /etc/shadow| grep user3      //查看user3是否有密碼

user3:$1$4vGPvNrT$xrFPE9XQhl.w1jchu10wo/:16119:0:99999:7:::

[[email protected]]# passwd -d user3  //使用-d選項刪除密碼

Removing passwordfor user user3.

passwd: Success

[[email protected]]# cat /etc/shadow| grep user3      //再次查看,密碼取消

user3::16119:0:99999:7:::


示例:

如果修改一個用戶的密碼,可以直接輸入passwd 用戶名,然后進入交互式的密碼輸入去人,使用- -stdin使用非交互式設置密碼,直接將密碼導入。

[[email protected]/]# echo "123" | passwd --stdin user3       //設置user3的密碼為123,使用--stdin為面交互式導入密碼

Changing password for user user3.

passwd: all authentication tokensupdated successfully.

[[email protected]/]# passwd -l user3 //鎖定user3賬戶

Locking password for user user3.

passwd: Success

[[email protected]/]# grep user3 /etc/shadow  //查看鎖定賬戶密碼信息,有兩個“!”

user3:!!$1$4vGPvNrT$xrFPE9XQhl.w1jchu10wo/:16119:0:99999:7:::

[[email protected]/]# passwd -S user3 //用-S查看是否被鎖定

user3 LK 2014-02-18 0 99999 7 -1(Password locked.)

[[email protected]/]# passwd -u user3 //-u參數為解鎖

Unlocking password for user user3.

passwd: Success.

[[email protected]/]# grep user3 /etc/shadow  //解鎖之后,該賬戶密碼段沒有“!”

user3:$1$4vGPvNrT$xrFPE9XQhl.w1jchu10wo/:16119:0:99999:7:::


2,用戶組的密碼gpasswd

gpasswd 組名:進入交互式的密碼輸入確認。

gpasswd –r 組名:-r選項為移除密碼,gpasswd –r 組名為清空該組密碼

組密碼的用途:主要是一些用戶想要加入組,那么需要用到的這個組賬戶的密碼,而這個用戶加入的時候也是臨時加入的,用exit即可退出該組。

四:用戶組成員的添加和刪除

1,gpasswd在用戶組中的應用

-A :定義組管理員列表(可以在/etc/gshadow文件里查看組管理員和組成員)

-a :添加組成員,每次只能加一個

-d :刪除組成員,每次只能刪一個

-M :定義組成員列表,可設置多個(為覆蓋操作,在定義之后,之前組內用戶將被刪除;注意在寫多個成員列表的時候,用逗號隔開)

示例:

[[email protected] ~]# grep user /etc/gshadow  

user:!::

[[email protected] ~]# gpasswd -a user1 user   //將賬戶user1加入到user組中

正在將用戶“user1”加入到“user”組中

[[email protected] ~]# gpasswd -a user2 user   //將user2加入到user組中

正在將用戶“user2”加入到“user”組中

[[email protected] ~]# grep user /etc/gshadow | tail -1    //查看user用戶組的成員

user:!::user1,user2

[[email protected] ~]# gpasswd -M stu01,stu02 user //-M參數覆蓋添加多個用戶

[[email protected] ~]# cat /etc/gshadow | tail -1  //再次查看,user1和user2被覆蓋

user:!::stu01,stu02

[[email protected] ~]# gpasswd -d stu01 user       //將stu01從user組中刪除

正在將用戶“stu01”從“user”組中刪除

[[email protected] ~]# cat /etc/gshadow | tail -1

user:!::stu02       //刪除后只剩下stu02用戶

[[email protected] ~]# gpasswd -A stu02 user       //將stu02設置為管理員

[[email protected] ~]# grep user /etc/gshadow | tail -1

user:!:stu02:stu02      //gshadow文件中,第三個字段為該組的管理員賬戶,為stu02


2,usermod主要是對用戶的屬性進行更改,可以增加用戶成員的所屬附加組

只是用usermod的 -a-G選項(-a表示添加,-G指定組,-a -G為新加一個附加組)

命令:usermod -a -G 用戶組 用戶名

[[email protected]~]# usermod -a -G tech stu02    //為stu02增加一個附加組tech

[[email protected]~]# id stu02

uid=501(stu02) gid=1201(nsd)groups=1201(nsd),200(tech),1204(user)

五:用戶和組屬性的查看和修改

1,usermod :主要針對用戶與組之間屬性的更改

格式:usermod [選項](選項可以有多個)用戶名 

-l :更改用戶賬號的登錄名稱

-L :鎖定用戶賬戶(注:用usermod –L鎖定一個賬戶的時候可以用passwd–u直接解鎖,但是用passwd –l鎖定的賬戶,用usermod–U解鎖的時間,需要解鎖兩次,因為,passwd –l鎖定的賬戶密碼前面有兩個!,而usermod –L鎖定的賬號密碼前面有一個!,可以通過查看/etc/gshadow文件里面的密碼段來驗證。)

-U :解鎖用戶賬戶

-u、-d、-e、-g、-G、-s :與useradd相同

-a :和-G搭配使用為添加該用戶的附加組(只是用-G的時候,為修改附加組)

示例:

usermod -e 20140630(或2014-06-30) user1 :為修改user1賬戶失效時間為20140630

但是在用chage -E 2014-06-30 user1的時候,不能用20140630

[[email protected]~]# cat /etc/shadow | grep user1

user1:!!:16119:0:99999:7:::

[[email protected]~]# usermod -e 20140630 user1   //修改user1的賬戶失效時間

[[email protected]~]# cat /etc/shadow | grep user1

user1:!!:16119:0:99999:7::16251:

[[email protected]~]# usermod -l user01 user1 //修改user1的登錄名為user01

usermod:警告:/var/spool/mail/user1 不屬于 user1


2,chage :主要針對用戶的密碼進行設定

-l :列出密碼有效信息

-E :指定賬戶過期時間,YYYY-MM-DD

-I :指定當密碼失效后多少天鎖定賬號

-m :指定密碼的最小天數

-M :指定密碼的最大天數

示例:

[[email protected]~]# chage -l  user01    //查看user01的密碼信息

最近一次密碼修改時間:2月 18, 2014

密碼過期時間:從不

密碼失效時間:從不

帳戶過期時間:從不

兩次改變密碼之間相距的最小天數:0

兩次改變密碼之間相距的最大天數:99999

在密碼過期之前警告的天數:7

[[email protected] ~]# cat /etc/shadow | grep user01

user01:$1$609lnAxS$qk/Yzf4qd727R9Q2dieQ1.:16119:0:99999:7:::

[[email protected] ~]# chage -E 2014-07-10 user01      //修改user01的賬戶過期時間

[[email protected] ~]# chage -I 3 user01       //修改user01用戶的密碼失效3天后鎖定

[[email protected] ~]# chage -m 10 user01  //密碼修改之后10天內不準修改

[[email protected] ~]# chage -M 40 user01  //密碼修改后40天之后必須再次修改密碼

[[email protected] ~]# cat /etc/shadow | grep user01

user01:$1$609lnAxS$qk/Yzf4qd727R9Q2dieQ1.:16119:10:40:7:3:16261:

[[email protected] ~]# chage -l  user01

最近一次密碼修改時間:2月 18, 2014

密碼過期時間:3月 30, 2014

密碼失效時間:4月 02, 2014

帳戶過期時間:7月 10, 2014

兩次改變密碼之間相距的最小天數:10

兩次改變密碼之間相距的最大天數:40

在密碼過期之前警告的天數:7


3,id

-在命令行輸入id,為查看該賬戶的用戶名及用戶所屬組等信息;

[[email protected]~]# su - frank

[[email protected]~]$ id     //id命令直接查看當前用戶的ID和所屬組

uid=507(frank) gid=507(frank)groups=507(frank)

-id 用戶名 :表示查看該用戶的相關信息

[[email protected]~]#id frank        //查看frank用戶的用戶ID和所屬組

uid=507(frank) gid=507(frank)groups=507(frank)

[[email protected]~]# id user01       //查看user01的用戶ID和所屬組

uid=1005(user01)gid=1005(user1) groups=1005(user1)


-id –gn :查看當前用戶的所屬組

[[email protected]~]# su - frank

[[email protected]~]$ id -gn     //查看當前所屬組,為frank組,下面修改一下

frank


logout

[[email protected]~]# usermod -g tech frank   //將frank的基本組修改為tech

[[email protected]~]# su - frank

[[email protected]~]$ id -gn     //用id -gn查看當前組

tech


4,newgrp 

newgrp 用戶組 :為當前用戶臨時增加一個用戶的附加組(可以用exit退出該附加組)

示例:

[[email protected]~]# su - frank


uid=507(frank) gid=200(tech) groups=200(tech)

[[email protected]~]$ newgrp user

密碼:  //這個密碼為用gpasswd來設置的用戶組密碼,當有新用戶加入是,需要輸入,如果沒有密碼,直接確定即可加入


user   //用戶組為user,未修改之前為tech


uid=507(frank) gid=1204(user) groups=200(tech),1204(user)

[[email protected]~]$ exit       //只是臨時增加的附加組,可以用exit退出該組

exit


uid=507(frank) gid=200(tech) groups=200(tech)


tech       //退出后的用戶組還未之前的tech


5,groups :查看用戶所屬組

groups :查看當前用戶的所屬組(包括基本組和附加組)

groups 用戶名 :查看該用戶所屬組(包括基本組和附加組,前面的為基本組)

注:也可以查看/etc/group和/etc/gshadow文件的第四段。

[[email protected] ~]# groups  //查看當前用戶的所屬組

root bin daemon sys adm disk wheel

[[email protected] ~]# groups user2    //查看user2用戶的所屬組

user2 : user2 tech      //那么user2用戶的基本組為user2,有一個附加組,為tech


六,附:用戶和用戶組的密碼及新建用戶宿主目錄里面的隱藏文件

1,用戶的密碼 :/etc/passwd 和/etc/shadow

/etc/passwd文件:保存了用戶賬號的基本信息

[[email protected]~]# head -1 /etc/passwd

root:x:0:0:root:/root:/bin/bash

1    2 3 4 5    6     7

可以看到passwd里面的內容分為7個字段,分別用“:”隔開,每個字段的含義:

第一段:用戶賬號的名稱

注:可使用user -l user1 user01修改

第二段:密碼字符或占位符

注:加密后的密碼保存在/etc/shadow文件中

第三段:用戶賬號的UID號

注: 在建立的時候用useradd -u來指定UID號

第四段:所屬基本組的GID號

注:在新建用戶的時候,如果不指定基本組,會默認新建一個和用戶同名的組,可以使用useradd -g users/100來指定新建用戶組的GID

第五段:用戶全名

第六段:宿主目錄

注:在新建用戶的時間,用useradd -d來指定

第七段:登錄shell程序的路徑

注:在新建用戶時候使用useradd -s來指定,也可以在后來使用usermod -s來指定

/etc/shadow文件:保存了密碼字串,有效期等信息

[[email protected]/]# head -1 /etc/shadow

root:$1$SmlKPNho$qNqybQOGBSnK6iWmviI6b1:15908:0:99999:7:::

1    2                                 3        4  5    6789

第一段:用戶賬號的名稱

第二段:加密后的密碼字符串

注:在使用passwd -l鎖定之后加兩個”!”,用usermod -L鎖定之后該字符串前面加一個”!”

第三段:上次修改密碼的時間

第四段:密碼的最短有效天數,默認為0

注:也就是在上次修改密碼后多少天之內不準修改密碼,可以使用chage -m來修改

第五段:密碼的最長有效天數

注:也就是說,密碼在到達有效天數之后,必須進行修改,可以使用chage -M修改

第六段:密碼過期后的警告天數,默認為7

注:在密碼最長有效天數的前7天進行提醒

第七段:密碼過期后多少天禁用此賬戶,默認值為空

注:如果密碼過期之后,也就是密碼最長有效時間到了之后,用戶還可以繼續使用該賬號,如果還不修改密碼,那么,這個時間將起作用,該用戶將被禁用。可以使用chage -I 來修改

第八段:賬號失效時間,默認值為空

可以使用chage -E 或者usermod -e來修改賬號的失效時間

例如:

[[email protected]]# chage -l  user01

最近一次密碼修改時間:2月 18, 2014

密碼過期時間:3月 30, 2014

密碼失效時間:4月 02, 2014

帳戶過期時間:7月 10, 2014

兩次改變密碼之間相距的最小天數:10

兩次改變密碼之間相距的最大天數:40

在密碼過期之前警告的天數:7

[[email protected]~]# cat /etc/shadow | grep user01

user01:$1$609lnAxS$qk/Yzf4qd727R9Q2dieQ1.:16119:10:40:7:3:16261:

[[email protected]~]# usermod -e 20140810 user01  //或chage -E 20140810 user01

[[email protected]~]# cat /etc/shadow | grep user01

user01:$1$609lnAxS$qk/Yzf4qd727R9Q2dieQ1.:16119:10:40:7:3:16292:

[[email protected]~]# chage -l  user01

最近一次密碼修改時間:2月 18, 2014

密碼過期時間:3月 30, 2014

密碼失效時間:4月 02, 2014

帳戶過期時間:8月 10, 2014

兩次改變密碼之間相距的最小天數:10

兩次改變密碼之間相距的最大天數:40

在密碼過期之前警告的天數:7

第九段:該字段保留

2,新建一個用戶時候的默認配置/etc/login.defs、/etc/useradd和/etc/skel

[[email protected]~]# grep -vE "^#|^$" /etc/login.defs

MAIL_DIR        /var/spool/mail     //定義郵件文件路徑

PASS_MAX_DAYS   99999           //定義密碼最長有效天數,/etc/shadow第五段

PASS_MIN_DAYS   0       //密碼最短有效天數為0,/etc/shadow的第四段

PASS_MIN_LEN    5       //密碼最小長度為5,這里不起作用,有其他文件來規定

PASS_WARN_AGE   7       //密碼過期后的警告天數

UID_MIN                   500       //UID的起始值,/etc/passwd中的第三段

UID_MAX                 60000       //UID的最大值,/etc/passwd中的第三段

GID_MIN                   500       //GID的起始值,/etc/passwd中的第四段

GID_MAX                 60000       //GID的最大值,/etc/passwd中的第四段

CREATE_HOME     yes         //是否創建宿主目錄

UMASK           077         //umask值為077

USERGROUPS_ENAB yes         //

MD5_CRYPT_ENAB yes          //密碼使用MD5加密

ENCRYPT_METHOD MD5          //

[[email protected]~]#cat /etc/default/useradd

# useradd defaults file     

GROUP=100       //

HOME=/home      //定義創建用戶的宿主目錄在/home下

INACTIVE=-1         //是否啟用該賬戶,-1代表是

EXPIRE=             //

SHELL=/bin/bash     //指定新建用戶的shell為/bin/bash

SKEL=/etc/skel      //新建用戶的宿主目錄模板為/etc/skel

CREATE_MAIL_SPOOL=yes       //是否創建用戶的郵件文件

[[email protected]~]# ll -a  /etc/skel/       //在新建一個用戶的時候,宿主目錄里面的內容就是將skel拷貝過去,然后放到/home目錄下并改名為新建的用戶名

總計 64

drwxr-xr-x  3 root root 4096 2013-07-10 .

drwxr-xr-x 97 root root 1228802-18 16:24 ..

-rw-r--r--  1 root root   33 2011-05-13 .bash_logout

-rw-r--r--  1 root root  176 2011-05-13 .bash_profile

-rw-r--r--  1 root root  124 2011-05-13 .bashrc

-rw-r--r--  1 root root  515 2011-04-07 .emacs

drwxr-xr-x  4 root root 4096 2012-11-16 .mozilla

3,全局配置文件~/.bash_profile、~/.bashrc和~/.bash_logout

注:可以在用戶的宿主目錄下使用ls -a查看。

~/.bash_profile:每次登錄時執行

~/.bashrc :每次進入新的Bash環境時執行

~/.bash_logout:每次推出登錄時執行

4,查看用戶組信息:/etc/group和/etc/gpasswd

/etc/group查看用戶組的信息

[[email protected]~]# cat /etc/group | tail -1

user:x:1204:user01,user2

第一段:組名

第二段:密碼占位符

第三段:GID

第四段:組內成員(使用gpasswd -a添加,gpasswd -d刪除,gpasswd -M覆蓋添加多個)

[[email protected]~]# cat /etc/gshadow | tail -1

user:$1$u/W2qj.L$W8GJY5HxyLzphdtgLKpxW0:stu02:user01,user2

第一段:組名

第二段:密碼(使用gpasswd來設置)

第三段:組管理員(使用gpasswd -A指定)

第四段:組內成員


關鍵字:CentOS、系統、管理、用戶、用戶組
分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2020 All Rights Reserved.
聯系電話:(0757)22630313、22633833
公司地址: 廣東省佛山市順德區大良國際商業城A區4座3樓106號   郵編:528300
機房7x24小時服務熱線:(0757)23628508、23628509
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站
新疆喜乐彩玩法
广东26选5走势图走图 pc单机捕鱼达人 大赢家827occ二肖中特 法甲赛程20172018积分 nba比分牌 四川时时彩玩法 七星彩走势图大星 浙江省彩票中奖最多地方 中国足球彩票14场胜负 手机如何利用价保赚钱