7.1 useradd:创建用户
生活随笔
收集整理的這篇文章主要介紹了
7.1 useradd:创建用户
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
7.1 useradd:創(chuàng)建用戶
1 使用useradd 常規(guī)添加用戶工作原理流程
在使用useradd命令時(shí),若不加任何參數(shù)選項(xiàng),后面直接跟所添加的用戶名,那么系統(tǒng)首先會(huì)讀取/etc/login.defs(用戶定義文件)和/etc/default/useradd(用戶默認(rèn)配置文件)文件中所定義的參數(shù)和規(guī)則,然后根據(jù)所設(shè)置的規(guī)則添加用戶,同時(shí)還會(huì)向/etc/passwd(用戶文件)和/etc/group(組文件)文件內(nèi)添加新用戶和新用戶組記錄,向/etc/shadow(用戶密碼文件)和/etc/gshadow(組密碼文件)文件里添加新用戶和組對(duì)應(yīng)的密碼信息的相關(guān)記錄。同時(shí)系統(tǒng)還會(huì)根據(jù)/etc/default/useradd文件所配置的信息建立用戶的家目錄,并將/etc/skel中的所有文件(包括隱藏的環(huán)境配置文件)都復(fù)制到新用戶的家目錄中。2 useradd不加選項(xiàng)-D的參數(shù)選項(xiàng)及說(shuō)明
-c comment?? ?? ? ?新用戶password文件中的說(shuō)明欄(冒號(hào)分隔后的第五列) -d home_dir ??? ? ?新用戶每次登入時(shí)所使用的家目錄 -e expire date ?? ?用戶終止日期。日期的指定格式為YYYY-MM-DD -f inactive_days???用戶過期幾日后永久停權(quán)。當(dāng)值為0時(shí)用戶立即被停權(quán),而當(dāng)值為-1時(shí)則關(guān)閉此功能,預(yù)設(shè)值為-1 -g initial_group? ?指定用戶對(duì)應(yīng)的用戶組。用戶組名必須為系統(tǒng)現(xiàn)已存在的名稱 -G?group,[...]?? ??定義此用戶為多個(gè)不同組的成員。每個(gè)用戶組使用逗號(hào)(,)分隔。用戶組名同-g選項(xiàng)的限制。默認(rèn)值為用戶的起始用戶組 -m?? ??? ??? ?? ? ?用戶目錄如不存在則自動(dòng)建立 -M???? ??? ??? ?? ?不建立用戶家目錄,優(yōu)先于/etc/login.defs文件設(shè)定。創(chuàng)建虛擬用戶時(shí)一般不需要建立家目錄,部署應(yīng)用服務(wù)時(shí)則需要?jiǎng)?chuàng)建虛擬用戶 -n?? ??? ??? ?? ? ?默認(rèn)情況下用戶的用戶組與用戶的名稱是相同的。如果命令添加了-n參數(shù),就不會(huì)生成與用戶同名的用戶組了 -r?? ??? ??? ????? 此參數(shù)是用來(lái)建立系統(tǒng)用戶的。系統(tǒng)用戶的UID會(huì)比定義在系統(tǒng)檔上/etc/login.defs的UID_MIN要小。注意此用法下useradd所建立的用戶不會(huì)建立用戶家目錄,也不會(huì)在乎記錄在/etc/login.defs.中的定義值。如果需要用戶家目錄必須額外指定-m參數(shù)來(lái)建立系統(tǒng)用戶。這是Red Hat額外增設(shè)的選項(xiàng) -s shell ?? ?? ? ?用戶登入后使用的Shell名稱。默認(rèn)值為不填寫,這樣系統(tǒng)會(huì)幫助指定預(yù)設(shè)的登入Shell(根據(jù)/etc/default/useradd預(yù)設(shè)的值) -u uid ?? ??? ??? 用戶的ID值。這個(gè)值必須是唯一的,除非用-o選項(xiàng)。數(shù)字不可為負(fù)值3 useradd 加 -D 選項(xiàng)參數(shù)說(shuō)明:改變新建用戶的預(yù)設(shè)值
當(dāng)執(zhí)行useradd帶-D參數(shù)時(shí),可以更改新建用戶的默認(rèn)配置值(/etc/default/useradd)或者由命令行編輯文件更改預(yù)設(shè)值。可簡(jiǎn)單理解該參數(shù)(-D)就是用于修改/etc/default/useradd配置文件的內(nèi)容的,若這個(gè)文件的內(nèi)容被修改,則添加新用戶不加參數(shù)時(shí)默認(rèn)值就會(huì)從該/etc/default/useradd中讀取。 useradd命令的-D參數(shù)選項(xiàng)說(shuō)明。 -b default_home?? ??? ??? ?定義用戶家目錄的基本目錄,當(dāng)用戶家目錄不存在時(shí),此目錄將作為家目錄生效 -e default_expire_date ?? ?用戶賬號(hào)停止日期,格式為YYYY-MM-DD,同useradd的-e參教 -f default_inactive ?? ??? 用戶過期幾日后停權(quán)。同useradd的-f參數(shù) -g defaul_group?? ???? ??? 新用戶起始用戶組名或ID。用戶組名必須為現(xiàn)已存在的名稱。用戶組ID也必須為現(xiàn)已存在的用戶組。同useradd的-g參數(shù) -s default_shell?? ??? ????用戶登入后使用的Shell名稱。修改后新加入的用戶都將使用此Shell類型,同useradd -s參數(shù)不加任何參數(shù)添加用戶的例子
[root@cs6 ~]# useradd ett [root@cs6 ~]# ls -ld /home/ett/ drwx------. 2 ett ett 4096 5月 12 01:15 /home/ett/ ●提示:創(chuàng)定用戶的同時(shí)還會(huì)創(chuàng)建一個(gè)與用戶名相同的用戶組。 在這個(gè)例子中,我們添加了一個(gè)名為ett的系統(tǒng)用戶,當(dāng)查看/home/目錄時(shí),會(huì)發(fā)現(xiàn)系統(tǒng)自動(dòng)建立了一個(gè)ett的目錄,其就是用戶登入后的起始目錄,即家目錄。 下面再來(lái)查看/etc/passwd文件中有關(guān)新用戶ett的記錄: [root@cs6 ~]# grep -w ett /etc/passwd ett:x:500:500::/home/ett:/bin/bash 從上文過濾出的ett用戶記錄來(lái)看,用戶的UID和GID分別為500,并且ett的家目錄為/home/ett,所對(duì)應(yīng)的Shell是/bin/bash。 [root@cs6 ~]# grep -w ett /etc/shadow ett:!!:18027:0:99999:7::: #<==雖然沒有創(chuàng)建密碼,但是密碼文件還是會(huì)增加一行相關(guān)信息。 [root@cs6 ~]# grep -w ett /etc/group ett:x:500: #<==創(chuàng)建用戶時(shí),默認(rèn)會(huì)創(chuàng)建與用戶同名的用戶組,并體現(xiàn)在用戶組配置文件中。 [root@cs6 ~]# grep -w ett /etc/gshadow ett:!:: #<==組密碼文件中也會(huì)有一行相關(guān)記錄。這里我們還可以查看/etc/default/useradd和/etc/login.defs兩個(gè)文件的規(guī)則,看一下ett用戶的增加是否符合這兩個(gè)配置文件預(yù)設(shè)的值。最后還可以查看/home/ett目錄下的文件,是否與/etc/skel目錄中的一樣。
useradd的-g、-u參數(shù),執(zhí)行useradd[參數(shù)]username 添加用戶
[root@cs6 ~]# groupadd -g 801 sa [root@cs6 ~]# useradd -g sa -u 901 lewen [root@cs6 ~]# id lewen uid=901(lewen) gid=801(sa) 組=801(sa)useradd的-M、-s參數(shù)的例子
[root@cs6 ~]# useradd -M -s /sbin/nologin kevin [root@cs6 ~]# ls -ld /home/kevin ls: 無(wú)法訪問/home/kevin: 沒有那個(gè)文件或目錄 [root@cs6 ~]# grep -w kevin /etc/passwd kevin:x:902:902::/home/kevin:/sbin/nologinuseradd的-c、-u、-G、-s、-d、-m、-e、-f等多個(gè)參數(shù)組合的綜合例子。
[root@cs6 ~]# useradd -u 806 -s /bin/sh -c SysUser -G root,sa -e "2019/07/12" -f 2 -d /tmp/inca inca [root@cs6 ~]# id inca uid=806(inca) gid=806(inca) groups=806(inca),0(root),801(sa) [root@cs6 ~]# tail -1 /etc/passwd inca:x:806:806:SysUser:/tmp/inca:/bin/sh/etc/passwd文件行中inca的用戶信息說(shuō)明 inca |x |:806 |:1002 |:SysUser |:/tmp/inca|:/bin/sh 賬號(hào)名稱|:賬號(hào)密碼|:賬號(hào)UID|:賬號(hào)組GID|:用戶說(shuō)明|:用戶家目錄|:shell解釋器[root@cs6 ~]# chage -l inca Last password change : May 11, 2019 Password expires : never Password inactive : never Account expires : Jul 12, 2019 Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7 [root@cs6 ~]# tail -1 /etc/shadow inca:!!:18027:0:99999:7:2:18089: #<==帶底紋的數(shù)字2即用戶過期停權(quán)的結(jié)果(一f參數(shù)) 更改字符變量 [root@cs6 ~]# cat /etc/sysconfig/i18n LANG="zh_CN.UTF-8" [root@cs6 ~]# sed -i 's/zh_CN/en_US/g' /etc/sysconfig/i18n [root@cs6 ~]# cat /etc/sysconfig/i18n LANG="en_US.UTF-8" [root@cs6 ~]# source /etc/sysconfig/i18nuseradd -D參數(shù)的使用說(shuō)明及案例實(shí)踐
[root@cs6 ~]# cat /etc/default/useradd # useradd defaults file GROUP=100 #<==依賴于/etc/login.defs 的 USERGROUPS_ENAB參數(shù),如果為no,則此處控制。 HOME=/home #<==把用戶的家目錄建在/home中。 INACTIVE=-1 #<==是否啟用用戶過期停權(quán),-1表示不啟用。 EXPIRE= #<==用戶終止日期,不設(shè)置表示不啟用。 SHELL=/bin/bash #<==新用戶默認(rèn)所用的Shel1類型。 SKEL=/etc/skel #<==配置新用戶家目錄的默認(rèn)文件存放路徑。前文提到的/etc/skel,就是在這里配置生效的,即當(dāng)我們用useradd添加用戶時(shí),用戶家目錄下的文件,都是從這里配置的目錄中復(fù)制過去的。 CREATE_MAIL_SPOOL=yes #<==創(chuàng)建mail文件。[root@cs6 ~]# egrep -v '^$|#' /etc/login.defs MAIL_DIR /var/spool/mail PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_MIN_LEN 5 PASS_WARN_AGE 7 UID_MIN 500 UID_MAX 60000 GID_MIN 500 GID_MAX 60000 CREATE_HOME yes UMASK 077 USERGROUPS_ENAB yes ENCRYPT_METHOD SHA512 修改實(shí)踐: [root@cs6 ~]# cp /etc/default/useradd{,.bark} [root@cs6 ~]# useradd -D -s /bin/sh [root@cs6 ~]# diff /etc/default/useradd{,.bark} 6c6 < SHELL=/bin/sh --- > SHELL=/bin/bash [root@cs6 ~]# useradd -D -e "2019/7/12" [root@cs6 ~]# diff /etc/default/useradd{,.bark} 5,6c5,6 < EXPIRE=2019/7/12 < SHELL=/bin/sh --- > EXPIRE= > SHELL=/bin/bash [root@cs6 ~]# [root@cs6 ~]# useradd zuma [root@cs6 ~]# tail -1 /etc/passwd zuma:x:903:903::/home/zuma:/bin/sh [root@cs6 ~]# chage -l zuma Last password change : May 11, 2019 Password expires : never Password inactive : never Account expires : Jul 12, 2019 Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7[root@cs6 ~]# \cp /etc/default/useradd{.bark,} #<==練習(xí)完后還原系統(tǒng)默認(rèn)的配置文件。 useradd -D的功能完全可以使用vim /etc/default/useradd編輯修改后來(lái)替代總結(jié)
以上是生活随笔為你收集整理的7.1 useradd:创建用户的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7.12-7.19 id、w、who、l
- 下一篇: tracert