CentOS系統(tǒng)管理_用戶和用戶組的詳解

五:用戶和組屬性的查看和修改
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 :主要針對用戶的密碼進(jìn)行設(shè)定
-l :列出密碼有效信息
-E :指定賬戶過期時間,YYYY-MM-DD
-I :指定當(dāng)密碼失效后多少天鎖定賬號
-m :指定密碼的最小天數(shù)
-M :指定密碼的最大天數(shù)
示例:
[root@localhost~]# chage -l user01 //查看user01的密碼信息
最近一次密碼修改時間:2月 18, 2014
密碼過期時間:從不
密碼失效時間:從不
帳戶過期時間:從不
兩次改變密碼之間相距的最小天數(shù):0
兩次改變密碼之間相距的最大天數(shù):99999
在密碼過期之前警告的天數(shù):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天內(nèi)不準(zhǔn)修改
[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
兩次改變密碼之間相距的最小天數(shù):10
兩次改變密碼之間相距的最大天數(shù):40
在密碼過期之前警告的天數(shù):7
[root@localhost ~]#
3,id
-在命令行輸入id,為查看該賬戶的用戶名及用戶所屬組等信息;
[root@localhost~]# su - frank
[frank@localhost~]$ id //id命令直接查看當(dāng)前用戶的ID和所屬組
uid=507(frank) gid=507(frank)groups=507(frank)
-id 用戶名 :表示查看該用戶的相關(guān)信息
[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 :查看當(dāng)前用戶的所屬組
[root@localhost~]# su - frank
[frank@localhost~]$ id -gn //查看當(dāng)前所屬組,為frank組,下面修改一下
frank
[frank@localhost~]$ exit
logout
[root@localhost~]# usermod -g tech frank //將frank的基本組修改為tech
[root@localhost~]# su - frank
[frank@localhost~]$ id -gn //用id -gn查看當(dāng)前組
tech
[frank@localhost~]$
4,newgrp
newgrp 用戶組 :為當(dāng)前用戶臨時增加一個用戶的附加組(可以用exit退出該附加組)
示例:
[root@localhost~]# su - frank
[frank@localhost~]$ id
uid=507(frank) gid=200(tech) groups=200(tech)
[frank@localhost~]$ newgrp user
密碼: //這個密碼為用gpasswd來設(shè)置的用戶組密碼,當(dāng)有新用戶加入是,需要輸入,如果沒有密碼,直接確定即可加入
[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 :查看當(dāng)前用戶的所屬組(包括基本組和附加組)
groups 用戶名 :查看該用戶所屬組(包括基本組和附加組,前面的為基本組)
注:也可以查看/etc/group和/etc/gshadow文件的第四段。
[root@localhost ~]# groups //查看當(dāng)前用戶的所屬組
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里面的內(nèi)容分為7個字段,分別用“:”隔開,每個字段的含義:
第一段:用戶賬號的名稱
注:可使用user -l user1 user01修改
第二段:密碼字符或占位符
注:加密后的密碼保存在/etc/shadow文件中
第三段:用戶賬號的UID號
注: 在建立的時候用useradd -u來指定UID號
第四段:所屬基本組的GID號
注:在新建用戶的時候,如果不指定基本組,會默認(rèn)新建一個和用戶同名的組,可以使用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鎖定之后該字符串前面加一個”!”
第三段:上次修改密碼的時間
第四段:密碼的最短有效天數(shù),默認(rèn)為0
注:也就是在上次修改密碼后多少天之內(nèi)不準(zhǔn)修改密碼,可以使用chage -m來修改
第五段:密碼的最長有效天數(shù)
注:也就是說,密碼在到達(dá)有效天數(shù)之后,必須進(jìn)行修改,可以使用chage -M修改
第六段:密碼過期后的警告天數(shù),默認(rèn)為7
注:在密碼最長有效天數(shù)的前7天進(jìn)行提醒
第七段:密碼過期后多少天禁用此賬戶,默認(rèn)值為空
注:如果密碼過期之后,也就是密碼最長有效時間到了之后,用戶還可以繼續(xù)使用該賬號,如果還不修改密碼,那么,這個時間將起作用,該用戶將被禁用??梢允褂胏hage -I 來修改
第八段:賬號失效時間,默認(rèn)值為空
可以使用chage -E 或者usermod -e來修改賬號的失效時間
例如:
[root@localhosthome]# chage -l user01
最近一次密碼修改時間:2月 18, 2014
密碼過期時間:3月 30, 2014
密碼失效時間:4月 02, 2014
帳戶過期時間:7月 10, 2014
兩次改變密碼之間相距的最小天數(shù):10
兩次改變密碼之間相距的最大天數(shù):40
在密碼過期之前警告的天數(shù):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
兩次改變密碼之間相距的最小天數(shù):10
兩次改變密碼之間相距的最大天數(shù):40
在密碼過期之前警告的天數(shù):7
第九段:該字段保留
2,新建一個用戶時候的默認(rèn)配置/etc/login.defs、/etc/useradd和/etc/skel
[root@localhost~]# grep -vE "^#|^$" /etc/login.defs
MAIL_DIR /var/spool/mail //定義郵件文件路徑
PASS_MAX_DAYS 99999 //定義密碼最長有效天數(shù),/etc/shadow第五段
PASS_MIN_DAYS 0 //密碼最短有效天數(shù)為0,/etc/shadow的第四段
PASS_MIN_LEN 5 //密碼最小長度為5,這里不起作用,有其他文件來規(guī)定
PASS_WARN_AGE 7 //密碼過期后的警告天數(shù)
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 //是否創(chuàng)建宿主目錄
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 //定義創(chuàng)建用戶的宿主目錄在/home下
INACTIVE=-1 //是否啟用該賬戶,-1代表是
EXPIRE= //
SHELL=/bin/bash //指定新建用戶的shell為/bin/bash
SKEL=/etc/skel //新建用戶的宿主目錄模板為/etc/skel
CREATE_MAIL_SPOOL=yes //是否創(chuàng)建用戶的郵件文件
[root@localhost~]# ll -a /etc/skel/ //在新建一個用戶的時候,宿主目錄里面的內(nèi)容就是將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:每次登錄時執(zhí)行
~/.bashrc :每次進(jìn)入新的Bash環(huán)境時執(zhí)行
~/.bash_logout:每次推出登錄時執(zhí)行
4,查看用戶組信息:/etc/group和/etc/gpasswd
/etc/group查看用戶組的信息
[root@localhost~]# cat /etc/group | tail -1
user:x:1204:user01,user2
第一段:組名
第二段:密碼占位符
第三段:GID
第四段:組內(nèi)成員(使用gpasswd -a添加,gpasswd -d刪除,gpasswd -M覆蓋添加多個)
[root@localhost~]# cat /etc/gshadow | tail -1
user:$1$u/W2qj.L$W8GJY5HxyLzphdtgLKpxW0:stu02:user01,user2
第一段:組名
第二段:密碼(使用gpasswd來設(shè)置)
第三段:組管理員(使用gpasswd -A指定)
第四段:組內(nèi)成員
總結(jié):
學(xué)的時間也不短了,總是想找個時間將用戶組這一章好好的做下筆記,這下好了,終于弄完了,哈哈
用戶和用戶組的管理這一章很繞口,理解也還算容易,命令不多,但是選項很多,一個題可能有好幾種做法,比如說usermod -a -g tech user01和gpasswd -a user01 tech,雖然都是講user01用戶加入到tech組中,但是還有那么的不同,唉,慢慢搞吧!
相關(guān)文章
CentOS系統(tǒng)如何添加用戶操作日志?CentOS系統(tǒng)添加用戶操作日志的方法
一些朋友不知道CentOS系統(tǒng)如何添加用戶操作日志?下面小編就為大家?guī)鞢entOS系統(tǒng)添加用戶操作日志的方法;有需要的朋友一起去看看吧2016-12-15- 在linux中出于安全的需要,我們會禁止某些用戶SSH登陸系統(tǒng)進(jìn)行操作。下面小編就為大家?guī)鞢entOS中禁止用戶ssh和sftp登陸的詳解;一起去看看吧2016-12-15
- 今天小編為大家?guī)淼氖荂entos下crontab指定執(zhí)行用戶;Centos下可以通過配置crontab來定時執(zhí)行任務(wù),執(zhí)行體可以是一條系統(tǒng)命令或自己寫的一個腳本,同時可以指派用戶來執(zhí)行2016-12-12
CentOS允許telnet通過root用戶進(jìn)行訪問
今天小編為大家?guī)淼氖荂entOS允許telnet 通過root用戶進(jìn)行訪問的詳解,希望對大家會有幫助;有需要的朋友可以過來看看2016-12-11Centos系統(tǒng)用戶密碼字符串生成命令-shadow
今天小編為大家?guī)淼氖荂entos系統(tǒng)用戶密碼字符串生成命令-shadow;有需要的朋友可以過來看看,希望對大家的學(xué)習(xí)會有幫助2016-12-09- 一些朋友還不知道CentOS如何鎖定多次登陸失敗的用戶;今天小編為大家?guī)砹薈entOS使用PAM鎖定多次登陸失敗的用戶的教程。有需要的朋友可以過來看看2016-12-08
Centos中如何臨時禁用用戶?Centos中臨時禁用用戶的方法
一些朋友說不知道Centos中如何臨時禁用用戶?下面小編就為大家?guī)鞢entos中臨時禁用用戶的方法;有需要的朋友過來看看吧2016-12-08CentOS6.6單用戶模式重設(shè)root密碼的方法
一些朋友還不知道CentOS6.6單用戶模式如何重設(shè)root密碼;下面小編就為大家?guī)鞢entOS6.6單用戶模式重設(shè)root密碼的方法;有需要的朋友可以過來看看2016-11-30- 如果當(dāng)你使用sudo來執(zhí)行某些命令的時候,就會提示你該用戶不再sudoer列表中。這時,我們就需要手工加入了;下面小編為大家?guī)鞢entOS將用戶添加到sudoer列表的教程2016-11-23
- 以下主要內(nèi)容是Centos配置sudo用戶;使用visudo命令進(jìn)行sudo配置文件的編寫;有需要的朋友可以參考下2016-11-23