USERADD
åç§°
大纲
æè¿°
é项
注æï¼
CAVEATS
éç½®æä»¶
æä»¶
éåºå¼
åè§
åç§°
useradd − å建ä¸ä¸ªæ°ç¨æ·ææ´æ°é»è®¤æ°ç¨æ·ä¿¡æ¯
大纲
useradd [é项] ç»å½ |
||
useradd −D |
||
useradd −D [é项] |
æè¿°
å¦æä½¿ç¨æ¶ä¸å¸¦ −D é项ï¼useradd å½ä»¤ä½¿ç¨å½ä»¤è¡ä¸æå®çå¼åç³»ç»çé»è®¤å¼å建ä¸ä¸ªæ°ç¨æ·ãæ ¹æ®å½ä»¤è¡é项ï¼useradd å½ä»¤ä¹ä¼æ´æ°ç³»ç»æä»¶åå建æ°ç¨æ·ç主ç®å½å¹¶å¤å¶åå§æä»¶ã
é»è®¤ä¸ï¼ä¹ä¼ä¸ºç¨æ·åå»ºç» (å¯ç −g, −N, −Uï¼å USERGROUPS_ENAB)ã
é项
useradd å¯ä»¥ä½¿ç¨çé项æï¼
−b, −−base−dir BASE_DIR
å¦ææ²¡æä½¿ç¨ −d HOME_DIRï¼å使ç¨é»è®¤çåºç®å½ãBASE_DIR å ä¸è´¦æ·åå°±æ¯ä¸»ç®å½ãå¦ææ²¡æä½¿ç¨ −m é项ï¼BASE_DIR å¿é¡»å·²ç»å- å¨ã
妿é项没ææå®ï¼useradd å°ä½¿ç¨ /etc/default/useradd ä¸ç HOME åéï¼æèé»è®¤ç /homeã
−c, −−comment COMMENT
ä»»ä½å符串ãé常æ¯å³äºç»å½çç®çæè¿°ï¼å½åç¨äºç¨æ·å¨åã
−d, −−home−dir HOME_DIR
å°å建æ°ç¨æ·ï¼å¹¶ä½¿ç¨ HOME_DIR ä½ä¸ºç¨æ·ç»éç®å½çå¼ãé»è®¤å¼æ¯å° LOGIN åéå å° BASE_DIR åé¢ï¼å¹¶ä½¿ç¨è¿ä½ä¸ºç»éç®å½ãç®å½ä¸ä¸å®å¿é¡»å·²ç»åå¨ HOME_DIRï¼ä½æ¯ä¼å¨éè¦æ¶å建ã
−D, −−defaults
çä¸è¾¹ï¼“æ´æ¹é»è®¤å¼”åèã
−e, −−expiredate EXPIRE_DATE
ç¨æ·è´¦æ·å°è¢«ç¦ç¨çæ¥æãæ¥æä»¥ YYYY−MM−DD æ ¼å¼æå®ã
å¦ææ²¡ææå®ï¼useradd å°ä½¿ç¨ /etc/default/useradd ä¸ EXPIRE åéæå®çé»è®¤è¿ææ¥æï¼æèä¸ä¸ªç©ºå符串(ä¸è¿æ)ã
−f, −−inactive INACTIVE
å¯ç è¿æåï¼è´¦æ·è¢«å½»åºç¦ç¨ä¹åç天æ°ã0 表示ç«å³ç¦ç¨ï¼−1 表示ç¦ç¨è¿ä¸ªåè½ã
å¦ææªæå®ï¼useradd å°ä½¿ç¨ /etc/default/useradd ä¸ç INACTIVE æå®çé»è®¤ç¦ç¨å¨æï¼æèé»è®¤ä¸º −1ã
−g, −−gid GROUP
ç¨æ·åå§ç»éç»çç»åæå·ç ãç»åå¿é¡»å·²ç»åå¨ãç»å·ç å¿é¡»æä»£å·²ç»åå¨çç»ã
å¦ææ²¡ææå®ï¼ useradd çè¡ä¸ºå°ä¾èµäº /etc/login.defs æä»¶ä¸ç USERGROUPS_ENAB åæ°ã妿æ¤åæ°è®¾ç½®ä¸ºäº yes (æèå¨å½ä»¤è¡ä¸æå®äº −U/−−user−group)ï¼å°ä¼ä¸ºç¨æ·å建ä¸ä¸ªç»ï¼ç»ååç»å½åç¸åã妿éé¡¹è®¾ç½®ä¸ºäº no (æèå¨å½ä»¤è¡ä¸æå®äº −N/−−no−user−group)ï¼useradd 伿æ°ç¨æ·ç主ç»è®¾ç½®ä¸º /etc/default/useradd ä¸ GROUP åéæå®çå¼ï¼åæèé»è®¤æ¯ 100ã
−G, −−groups GROUP1[,GROUP2,…[,GROUPN]]]
ç¨æ·è¿å±äºçéå ç»åè¡¨ãæ¯ä¸ªç»é½ç¨éå·éå¼ï¼æ²¡æä¸é´çç©ºæ ¼ãè¿éçç»åå°äº −g é项ç»å®çç»åæ ·çéå¶ãé»è®¤ä¸ï¼ç¨æ·åªå±äºåå§ç»ã
−h, −−help
ç°å®å¸®å©ä¿¡æ¯å¹¶éåºã
−k, −−skel SKEL_DIR
骨æ¶ç®å½ï¼åå«ä½¿ç¨ useradd åå»ºç¨æ·æ¶ï¼è¦å¤å¶å°ç¨æ·ä¸»ç®å½ä¸- çæä»¶åç®å½ã
è¿ä¸ªéé¡¹åªæå¨æå® −m (æ −−create−home) éé¡¹æ¶æææã
妿æ¤é¡¹æ²¡æè®¾ç½®ï¼éª¨æ¶ç®å½ä½¿ç¨ /etc/default/useradd ä¸ç SKEL çåéæé»è®¤ä¸º /etc/skelã
妿å¯ä»¥ï¼ä¹å¤å¶ ACL åæ©å±å±æ§ã
−K, −−key KEY=VALUE
Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and others).
Example: −K PASS_MAX_DAYS=−1 can be used when creating system account to turn off password aging, even though system account has no password at all. Multiple −K options can be specified, e.g.: −K UID_MIN=100 −K UID_MAX=499
−l, −−no−log−init
ä¸è¦å°ç¨æ·æ·»å å°æè¿ç»å½åç»å½å¤±è´¥æ°æ®åºã
By default, the user’s entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user.
−m, −−create−home
妿ä¸åå¨ï¼ååå»ºç¨æ·ä¸»ç®å½ã骨æ¶ç®å½ä¸çæä»¶åç®å½(å¯ä»¥ä½¿ç¨ −k é项æå®)ï¼å°ä¼å¤å¶å°ä¸»ç®å½ã
é»è®¤ä¸ï¼å¦ææ²¡ææå®æ¤éé¡¹å¹¶ä¸ CREATE_HOME 没æå¯ç¨ï¼ä¸ä¼å建主ç®å½ã
−M, −−no−create−home
ä¸åå»ºç¨æ·ä¸»ç®å½ï¼å³ä½¿ç³»ç»å¨ /etc/login.defs ä¸ç设置 (CREATE_HOME) 为 yesã
−N, −−no−user−group
ä¸è¦å建ååç»ï¼èæ¯å°ç¨æ·æ·»å å° −g é项æå®çç»ï¼ææ ¹æ® /etc/default/useradd ä¸ç GROUP åéã
å¦ææ²¡ææå® −g, −N å −U é项ï¼é»è®¤è¡ä¸ºç± /etc/login.defs ä¸ç USERGROUPS_ENAB åéæå®ã
−o, −−non−unique
å许使ç¨éå¤ç UID åå»ºç¨æ·è´¦æ·ã
æ¤éé¡¹åªæå −u é项ç»åä½¿ç¨æææã
−p, −−password PASSWORD
å å¯äºçå¯ç ï¼å°±å crypt(3) çè¿åå¼ãé»è®¤ä¸ºç¦ç¨å¯ç ã
注æï¼ä¸æ¨è使ç¨è¿ä¸ªé项ï¼å 为å¯ç (æå å¯è¿çå¯ç )ä¼è¢«ç¨æ·éè¿ååºè¿ä¸ªè¿ç¨èçå°ã
æ¨åºè¯¥ç¡®ä¿å¯ç 符åç³»ç»çå¯ç æ¿çã
−r, −−system
å建ä¸ä¸ªç³»ç»è´¦æ·ã
System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the SYS_UID_MIN−SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN−UID_MAX (and their GID counterparts for the creation of groups).
Note that useradd will not create a home directory for such a user, regardless of the default setting in /etc/login.defs (CREATE_HOME). You have to specify the −m options if you want a home directory for a system account to be created.
−R, −−root CHROOT_DIR
Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory.
−P, −−prefix PREFIX_DIR
Apply changes in the PREFIX_DIR directory and use the configuration files from the PREFIX_DIR directory. This option does not chroot and is intended for preparing a cross−compilation target. Some limitations: NIS and LDAP users/groups are not verified. PAM authentication is using the host files. No SELINUX support.
−s, −−shell SHELL
ç¨æ·çç»å½ shell åãé»è®¤ä¸ºç空ï¼è®©ç³»ç»æ ¹æ® /etc/default/useradd ä¸ç SHELL åééæ©é»è®¤çç»å½ shellï¼é»è®¤ä¸ºç©ºå符串ã
−u, −−uid UID
ç¨æ· ID çæ°åå¼ãæ¤å¼å¿é¡»ä¸ºå¯ä¸çï¼é¤é使ç¨äº −o é项ãæ- ¤å¼å¿é¡»éè´ï¼é»è®¤ä½¿ç¨å¤§äºçäº UID_MINï¼ä¸å¤§äºä»»ä½å¶ä»ç¨æ· ID æå°å¼ã
请åè −r é项å UID_MAX çæè¿°ã
−U, −−user−group
å建ä¸ä¸ªåç¨æ·ååçç»ï¼å¹¶å°ç¨æ·æ·»å å°ç»ä¸ã
å¦ææ²¡ææå® −g, −N å −U é项ï¼é»è®¤è¡ä¸ºç± /etc/login.defs ä¸ç USERGROUPS_ENAB åéæå®ã
−Z, −−selinux−user SEUSER
ç¨æ·ç»éç SELinux ç¨æ·ãé»è®¤ä¸ºç空ï¼è¿ä¼é æç³»ç»éæ©é»è®¤ç SELinux ç¨æ·ã
æ´æ¹é»è®¤å¼
åªå¸¦ −D éé¡¹ä½¿ç¨æ¶ï¼useradd å°æ¾ç¤ºå½åçé»è®¤å¼ã−D åå¶å®é项éåä½¿ç¨æ¶ï¼useradd å°ä¸ºæå®çéé¡¹æ´æ°é»è®¤å¼ãææç“æ´æ¹é»è®¤å¼”é项æï¼
−b, −−base−dir BASE_DIR
æ°ç¨æ·ä¸»ç®å½çè·¯å¾åç¼ã妿å建æ°è´¦æ·æ¶ï¼æ²¡æä½¿ç¨ −d é项ï¼ç¨æ·çåç§°å°ä¼ç¼å¨ BASE_DIR çåè¾¹å½¢ææ°ç¨æ·ç主ç®å½åã
è¿ä¸ªéæ©å¨ /etc/default/useradd ä¸è®¾ç½® HOME é项ã
−e, −−expiredate EXPIRE_DATE
ç¦ç¨æ¤ç¨æ·è´¦æ·çæ¥æã
æ¤éé¡¹å¨ /etc/default/useradd ä¸è®¾ç½® EXPIRE åéã
−f, −−inactive INACTIVE
å¯ç è¿æå°è´¦æ·è¢«ç¦ç¨ä¹åç天æ°ã
è¿ä¸ªéé¡¹å¨ /etc/default/useradd ä¸è®¾ç½® INACTIVE åéã
−g, −−gid GROUP
æ°ç¨æ·åå§ç»çç»åæ ID (使ç¨äº −N/−−no−user−group æè /etc/login.defs ä¸çåé USERGROUPS_ENAB 设置为 no æ¶)ãç»åºçç»å¿é¡»åå¨ï¼å¹¶ä¸æ°åç» ID å¿é¡»æä¸ä¸ªå·²ç»åå¨ç项ã
è¿ä¸ªéé¡¹å¨ /etc/default/useradd ä¸è®¾ç½® GROUP åéã
−s, −−shell SHELL
æ°ç¨æ·çç»å½ shell åã
è¿ä¸ªéé¡¹å¨ /etc/default/useradd 设置 SHELL åéã
注æï¼
ç³»ç»ç®¡çåè´è´£å°é»è®¤çç¨æ·æä»¶æ¾å¨ /etc/skel/ ç®å½ä¸- (æèå½ä»¤è¡ä¸ã/etc/default/useradd 䏿å®çä»»ä½å¶å®ç®å½)ã
CAVEATS
æ¨å¯è½ä¸è½æ³ NIS ç»æ LDAP ç»æ·»å ç¨æ·ãè¿åªè½å¨ç¸åºæå¡å¨ä¸è¿è¡ã
ç¸ä¼¼å°ï¼å¦æç¨æ·åå·²ç»åå¨äºå¤é¨ç¨æ·æ°æ®åºä¸ï¼æ¯å¦ NIS æ LDAPï¼useradd å°æç»åå»ºç¨æ·è´¦æ·ç请æ±ã
ç¨æ·åå¿é¡»ä»¥ä¸ä¸ªå°å忝æä¸å线å¼å§ï¼è·éå°ååç¬¦ãæ°åãä¸å线æè¿å- 符çç»åãå¯ä»¥ä»¥ç¾å符å·ç»æãç¨æ- £å表达å¼è¡¨ç¤ºå°±æ¯ï¼[a−z_][a−z0−9_−]*[$]?
ç¨æ·åä¸è½è¶è¿ 32 个å符é¿ã
éç½®æä»¶
å¨ /etc/login.defs 䏿å¦ä¸éç½®åéï¼å¯ä»¥ç¨æ¥æ´æ¹æ¤å·¥å·çè¡ä¸ºï¼
CREATE_HOME (boolean)
æç¤ºæ¯å¦åºè¯¥ä¸ºæ°ç¨æ·é»è®¤å建主ç®å½ã
æ¤è®¾ç½®å¹¶ä¸åºç¨å°ç³»ç»ç¨æ·ï¼å¹¶ä¸å¯ä»¥ä½¿ç¨å½ä»¤è¡è¦çã
GID_MAX (number), GID_MIN (number)
useraddï¼groupadd æ newusers å建ç常è§ç»çç» ID çèå´ã
GID_MIN å GID_MAX çé»è®¤å¼å嫿¯ 1000 å 60000ã
MAIL_DIR (string)
é®ç®±ç®å½ãä¿®æ¹æå é¤ç¨æ·è´¦æ·æ¶éè¦å¤çé®ç®±ï¼å¦ææ²¡ææå®ï¼å°ä½¿ç¨ç¼è¯æ¶æå®çé»è®¤å¼ã
MAIL_FILE (string)
å®ä¹ç¨æ·é®ç®±æä»¶çä½ç½®(ç¸å¯¹äºä¸»ç®å½)ã
MAIL_DIR and MAIL_FILE åéç± useraddï¼usermod å userdel ç¨äºå建ãç§»å¨æå é¤ç¨æ·é®ç®±ã
妿 MAIL_CHECK_ENAB 设置为 yesï¼å®ä»¬ä¹è¢«ç¨äºå®ä¹ MAIL ç¯å¢åéã
MAX_MEMBERS_PER_GROUP (number)
æ¯ä¸ªç»æ¡ç®çæå¤§æåæ°ãè¾¾å°æå¤§å¼æ¶ï¼å¨ /etc/group å¼å§ä¸ä¸ªæ°æ¡ç®(è¡)(使ç¨åæ ·çåç§°ï¼åæ ·çå¯ç ï¼åæ ·ç GID)ã
é»è®¤å¼æ¯ 0ï¼æå³çç»ä¸çæåæ°æ²¡æéå¶ã
æ¤åè½(åå²ç»)å许éå¶ç»æä»¶ä¸çè¡é¿åº¦ãè¿å¯¹äºç¡®ä¿ NIS ç»çè¡æ¯é¿äº 1024 å符ã
妿è¦å¼ºå¶è¿ä¸ªéå¶ï¼å¯ä»¥ä½¿ç¨ 25ã
注æï¼åå²ç»å¯è½ä¸åææå·¥å·çæ¯æ(çè³å¨ Shadow å·¥å·éä¸- )ãæ¨ä¸åºè¯¥ä½¿ç¨è¿ä¸ªåéï¼é¤éççéè¦ã
PASS_MAX_DAYS (number)
ä¸ä¸ªå¯ç å¯ä»¥ä½¿ç¨çæå¤§å¤©æ°ã妿å¯ç æ¯è¿æ§ï¼å°ä¼å¼ºè¿«æ´æ¹å¯ç ã妿䏿å®ï¼å°±åå®ä¸º −1ï¼è¿ä¼ç¦ç¨è¿ä¸ªéå¶ã
PASS_MIN_DAYS (number)
ä¸¤æ¬¡æ´æ¹å¯ç æ¶é´çæå°é´éãå°ä¼æç»ä»»ä½æ©äºæ- ¤çæ´æ¹å¯ç çå°è¯ã妿䏿å®ï¼åå®ä¸º −1ï¼å°ä¼ç¦ç¨è¿ä¸ªéå¶ã
PASS_WARN_AGE (number)
å¯ç è¿æä¹åç»åºè¦åç天æ°ã0 è¡¨ç¤ºåªæåªå¨è¿æçå½å¤©è¦åï¼è´å¼è¡¨ç¤ºä¸è- ¦åãå¦ææ²¡ææå®ï¼ä¸ä¼ç»è¦åã
SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)
If /etc/subuid exists, the commands useradd and newusers (unless the user already have subordinate group IDs) allocate SUB_GID_COUNT unused group IDs from the range SUB_GID_MIN to SUB_GID_MAX for each new user.
The default values for SUB_GID_MIN, SUB_GID_MAX, SUB_GID_COUNT are respectively 100000, 600100000 and 10000.
SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number)
If /etc/subuid exists, the commands useradd and newusers (unless the user already have subordinate user IDs) allocate SUB_UID_COUNT unused user IDs from the range SUB_UID_MIN to SUB_UID_MAX for each new user.
The default values for SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNT are respectively 100000, 600100000 and 10000.
SYS_GID_MAX (number), SYS_GID_MIN (number)
useraddãgroupadd æ newusers å建çç³»ç»ç»çç» ID çèå´ã
SYS_GID_MIN å SYS_GID_MAX çé»è®¤å¼å嫿¯ 101 å GID_MIN−1ã
SYS_UID_MAX (number), SYS_UID_MIN (number)
useradd æ newusers å建çç³»ç»ç¨æ·çç¨æ· ID çèå´ã
SYS_UID_MIN å SYS_UID_MAX çé»è®¤å¼å嫿¯ 101 å UID_MIN−1ã
UID_MAX (number), UID_MIN (number)
useradd æ newusers åå»ºçæ®éç¨æ·çç¨æ· ID çèå´ã
UID_MIN å UID_MAX çé»è®¤å¼å嫿¯ 1000 å 60000ã
UMASK (number)
æä»¶æ¨¡å¼å建æ©ç åå§å为æ¤å¼ãå¦ææ²¡ææå®ï¼æ©ç åå§å为 022ã
useradd å newusers ä½¿ç¨æ¤æ©ç 设置å®ä»¬å建çç¨æ·ä¸»ç®å½ç模å¼ã
ä¹è¢« login ç¨äºæå®ç¨æ·çåå§ umaskãæ³¨æï¼æ¤æ©ç å¯ä»¥è¢«ç¨æ·ç GECOS è¡è¦ç(å½è®¾ç½®äº QUOTAS_ENAB æ¶)ï¼ä¹å¯ä»¥è¢«å¸¦ K æç¤ºç¬¦ç limits(5) å®ä¹çéå¶å¼è¦çã
USERGROUPS_ENAB (boolean)
妿 uid å gid ç¸åï¼ç¨æ·ååä¸»ç¨æ·åä¹ç¸åï¼ä½¿é root ç»çç»æ©ç ä½åå±ä¸»ä½ç¸å (å¦ï¼022 −> 002, 077 −> 007)ã
å¦æè®¾ç½®ä¸º yesï¼å¦æç»ä¸æ²¡ææåäºï¼userdel å°ç§»é¤æ¤ç¨æ·ç»ï¼useradd åå»ºç¨æ·æ¶ï¼ä¹ä¼å建ä¸ä¸ªååçé»è®¤ç»ã
æä»¶
/etc/passwd
ç¨æ·è´¦æ·ä¿¡æ¯ã
/etc/shadow
å®å¨ç¨æ·è´¦æ·ä¿¡æ¯ã
/etc/group
ç»è´¦æ·ä¿¡æ¯ã
/etc/gshadow
å®å¨ç»è´¦æ·ä¿¡æ¯ã
/etc/default/useradd
è´¦æ·å建çé»è®¤å¼ã
/etc/skel/
åå«é»è®¤æä»¶çç®å½ã
/etc/subgid
Per user subordinate group IDs.
/etc/subuid
Per user subordinate user IDs.
/etc/login.defs
Shadow å¯ç å¥ä»¶éç½®ã
éåºå¼
useradd å¯ä»¥è¿åå¦ä¸å¼ï¼
0
æå
1
æ æ³æ´æ°å¯ç æä»¶
2
æ æçå½ä»¤è¯æ³
3
ç»äºé项ä¸ä¸ªæ æçåæ°
4
UID å·²ç»ä½¿ç¨ (䏿²¡æ −o)
6
æå®çç»ä¸åå¨
9
ç¨æ·å已被使ç¨
10
æ æ³æ´æ°ç»æä»¶
12
æ æ³å建主ç®å½
14
can’t update SELinux user mapping
åè§
chfn(1), chsh(1), passwd(1), crypt(3), groupadd(8), groupdel(8), groupmod(8), login.defs(5), newusers(8), subgid(5), subuid(5), userdel(8), usermod(8).