亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  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:

[root@localhost ~]# useradd -u 520 -d /public/stu04 -g users-G tech stu01

[root@localhost ~]# id stu01

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

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

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

[root@localhost ~]# cat /etc/passwd | grep stu02

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

2,groupadd的參數:

gourpadd [-g GID] 組名

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

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

[root@localhost ~]# cat /etc/group | grep stu   //查看stu組的信息

stu:x:600:

二:刪除用戶和用戶組

1,userdel

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

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

示例:

[root@localhost~]# useradd user1;useradd user2 //添加用戶user1和user2

[root@localhost~]# 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

[root@localhost~]# userdel user1 ; userdel -r user2    //加不加-r的區別

[root@localhost~]# 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

[root@localhost~]#

2,groupdel:刪除用戶組

-格式:groupdel組名

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

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

[root@localhost~]# id user1    //查看user1的基本組和附加組

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

[root@localhost ~]# grep stu /etc/group

stu:x:600:user1,user2

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

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

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

[root@localhost~]# groupdel stu

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

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

1,為用戶添加密碼:

Passwd命令:

選項有:

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

-l :鎖定用戶賬號

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

-u :解鎖用戶賬號

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

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

示例:

[root@localhosthome]# cat /etc/shadow| grep user3      //查看user3是否有密碼

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

[root@localhosthome]# passwd -d user3  //使用-d選項刪除密碼

Removing passwordfor user user3.

passwd: Success

[root@localhosthome]# cat /etc/shadow| grep user3      //再次查看,密碼取消

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

[root@localhosthome]#

示例:

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

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

Changing password for user user3.

passwd: all authentication tokensupdated successfully.

[root@localhost/]# passwd -l user3 //鎖定user3賬戶

Locking password for user user3.

passwd: Success

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

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

[root@localhost/]# passwd -S user3 //用-S查看是否被鎖定

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

[root@localhost/]# passwd -u user3 //-u參數為解鎖

Unlocking password for user user3.

passwd: Success.

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

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

[root@localhost/]#

2,用戶組的密碼gpasswd

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

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

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

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

1,gpasswd在用戶組中的應用

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

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

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

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

示例:

[root@localhost ~]# grep user /etc/gshadow  

user:!::

[root@localhost ~]# gpasswd -a user1 user   //將賬戶user1加入到user組中

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

[root@localhost ~]# gpasswd -a user2 user   //將user2加入到user組中

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

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

user:!::user1,user2

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

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

user:!::stu01,stu02

[root@localhost ~]# gpasswd -d stu01 user       //將stu01從user組中刪除

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

[root@localhost ~]# cat /etc/gshadow | tail -1

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

[root@localhost ~]# gpasswd -A stu02 user       //將stu02設置為管理員

[root@localhost ~]# grep user /etc/gshadow | tail -1

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

[root@localhost ~]#

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

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

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

[root@localhost~]# usermod -a -G tech stu02    //為stu02增加一個附加組tech

[root@localhost~]# 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

[root@localhost~]# cat /etc/shadow | grep user1

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

[root@localhost~]# usermod -e 20140630 user1   //修改user1的賬戶失效時間

[root@localhost~]# cat /etc/shadow | grep user1

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

[root@localhost~]# usermod -l user01 user1 //修改user1的登錄名為user01

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

[root@localhost~]#

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

-l :列出密碼有效信息

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

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

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

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

示例:

[root@localhost~]# chage -l  user01    //查看user01的密碼信息

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

密碼過期時間:從不

密碼失效時間:從不

帳戶過期時間:從不

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

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

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

[root@localhost ~]# cat /etc/shadow | grep user01

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

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

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

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

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

[root@localhost ~]# cat /etc/shadow | grep user01

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

[root@localhost ~]# chage -l  user01

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

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

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

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

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

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

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

[root@localhost ~]# 

3,id

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

[root@localhost~]# su - frank

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

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

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

[root@localhost~]#id frank        //查看frank用戶的用戶ID和所屬組

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

[root@localhost~]# id user01       //查看user01的用戶ID和所屬組

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

[root@localhost~]#

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

[root@localhost~]# su - frank

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

frank

[frank@localhost~]$ exit

logout

[root@localhost~]# usermod -g tech frank   //將frank的基本組修改為tech

[root@localhost~]# su - frank

[frank@localhost~]$ id -gn     //用id -gn查看當前組

tech

[frank@localhost~]$

4,newgrp 

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

示例:

[root@localhost~]# su - frank

[frank@localhost~]$ id

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

[frank@localhost~]$ newgrp user

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

[frank@localhost~]$ id -gn

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

[frank@localhost~]$ id

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

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

exit

[frank@localhost~]$ id

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

[frank@localhost~]$ id -gn

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

[frank@localhost~]$

5,groups :查看用戶所屬組

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

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

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

[root@localhost ~]# groups  //查看當前用戶的所屬組

root bin daemon sys adm disk wheel

[root@localhost ~]# groups user2    //查看user2用戶的所屬組

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

[root@localhost ~]#

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

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

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

[root@localhost~]# 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文件:保存了密碼字串,有效期等信息

[root@localhost/]# 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來修改賬號的失效時間

例如:

[root@localhosthome]# chage -l  user01

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

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

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

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

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

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

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

[root@localhost~]# cat /etc/shadow | grep user01

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

[root@localhost~]# usermod -e 20140810 user01  //或chage -E 20140810 user01

[root@localhost~]# cat /etc/shadow | grep user01

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

[root@localhost~]# 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

[root@localhost~]# 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          //

[root@localhost~]#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       //是否創建用戶的郵件文件

[root@localhost~]# 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查看用戶組的信息

[root@localhost~]# cat /etc/group | tail -1

user:x:1204:user01,user2

第一段:組名

第二段:密碼占位符

第三段:GID

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

[root@localhost~]# cat /etc/gshadow | tail -1

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

第一段:組名

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

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

第四段:組內成員


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

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站