useradd vs adduser: Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ, Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
`useradd` β ΡΡΠΎ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²Π°Ρ Π±ΠΈΠ½Π°ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ°, Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ Linux, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΡΡΠΌ ΠΏΡΡΠΌΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² `/etc/passwd`, `/etc/shadow` ΠΈ `/etc/group`. `adduser` β ΡΡΠΎ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΡΠΊΡΠΈΠΏΡ-ΠΎΠ±ΡΡΡΠΊΠ°, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Perl Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π° Π±Π°Π·Π΅ Debian, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅Ρ `useradd` Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²-ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², Π·Π°ΠΏΡΠΎΡ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈ ΡΠ±ΠΎΡ ΠΏΠΎΠ»Π΅ΠΉ GECOS. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΄ΠΎΠ±ΡΡΠ²Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: Π²ΡΠ±ΠΎΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, Π½Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° Debian, ΠΌΠΎΠΆΠ΅Ρ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π½ΡΡ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠ±Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΡΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°Π΅ΡΡΡ Π² ΡΠ°ΡΡΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ . Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π§ΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΄Π΅Π»Π°Π΅Ρ useradd ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ
`useradd` Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΡΠ°Π² ΠΏΠ°ΠΊΠ΅ΡΠ° shadow-utils (ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ `passwd` Π² ΡΡΠ°ΡΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ ). ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ΄ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ:
- Π§ΠΈΡΠ°Π΅Ρ `/etc/login.defs` Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² UID ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠΎΠ»ΠΈΡΠΈΠΊ ΡΡΡΠ°ΡΠ΅Π²Π°Π½ΠΈΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ ΠΈ ΡΠΎΠ³ΠΎ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π»ΠΈ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
- Π§ΠΈΡΠ°Π΅Ρ `/etc/default/useradd` Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΡΡΠΈ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π³ΡΡΠΏΠΏ.
- ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ Π² `/etc/passwd` ΠΈ `/etc/shadow`.
- ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· `/etc/skel`, Π΅ΡΠ»ΠΈ ΡΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΡΠ»Π°Π³ `-m`.
- ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ Π³ΡΡΠΏΠΏΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΅ΡΠ»ΠΈ Π² `/etc/login.defs` Π΄Π»Ρ `USERGROUPS_ENAB` ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ `yes`.
ΠΠ°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΡΠΏΡΡΠΊΠ°ΡΡ: Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Π½Π° Π±Π°Π·Π΅ Red Hat (RHEL, CentOS, Rocky Linux, AlmaLinux) `useradd` ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² `/etc/login.defs` ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ `CREATE_HOME yes`. Π Debian ΠΈ Ubuntu ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ β ΡΠ»Π°Π³ `-m` ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ `/etc/default/useradd`. ΠΡΠ° Π°ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΏΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°ΠΌΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ².
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»Π°Π³ΠΈ ΠΈ ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
| Π€Π»Π°Π³ | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ |
|---|---|---|
| `-m` | Π‘ΠΎΠ·Π΄Π°ΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ | ΠΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½ Π² Debian/Ubuntu Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ |
| `-d /path` | ΠΠ°Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΏΡΡΡ ΠΊ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ | ΠΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ `-m` |
| `-s /bin/bash` | ΠΠ°Π΄Π°ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π° | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ `/bin/sh` ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· `/etc/default/useradd` |
| `-u UID` | ΠΠ°Π·Π½Π°ΡΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ UID | ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ `-o` Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ² |
| `-g GID` | ΠΠ°Π΄Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π³ΡΡΠΏΠΏΡ | ΠΡΡΠΏΠΏΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ |
| `-G group1,group2` | ΠΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π³ΡΡΠΏΠΏΡ | Π§Π΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ, Π±Π΅Π· ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² |
| `-e YYYY-MM-DD` | ΠΠ°ΡΠ° ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΡΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ | ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΠΎΠ»Π΅ 8 `/etc/shadow` |
| `-f days` | ΠΠ΅ΡΠΈΠΎΠ΄ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΏΠ°ΡΠΎΠ»Ρ | ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π½Π΅ΠΉ ΠΏΠΎΡΠ»Π΅ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΊΠ° Π΄ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ |
| `-r` | Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ | UID Π½ΠΈΠΆΠ΅ `SYS_UID_MAX` Π² `/etc/login.defs`, Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ |
| `-M` | Π―Π²Π½ΠΎ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ | ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
| `-N` | ΠΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ Π³ΡΡΠΏΠΏΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ | ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π³ΡΡΠΏΠΏΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
| `-k /path` | Π£ΠΊΠ°Π·Π°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² | ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ `/etc/skel` |
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ useradd Ρ ΠΏΠΎΠ»Π½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
β`bash
useradd
-m
-d /srv/appuser
-s /bin/bash
-u 1500
-g developers
-G sudo,docker
-e 2025-12-31
-c "Application Service Account"
appuser
passwd appuser
β`
ΠΠ°ΡΠΎΠ»Ρ Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎ Π²ΡΠ·ΠΎΠ²Π° `passwd`. ΠΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΡΡΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π½ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π° β Π·Π°ΠΏΠΈΡΡ Π² shadow ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ `!` Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Ρ ΡΡΠ° ΠΏΠ°ΡΠΎΠ»Ρ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ Π²Ρ ΠΎΠ΄ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠΎΠ»ΡΠ½ΠΎΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π²Ρ ΠΎΠ΄ ΠΏΠΎ SSH-ΠΊΠ»ΡΡΡ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
Π§ΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΄Π΅Π»Π°Π΅Ρ adduser ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ
Π Debian ΠΈ Ubuntu `adduser` β ΡΡΠΎ Perl-ΡΠΊΡΠΈΠΏΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ `/usr/sbin/adduser`. ΠΠ½ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ· `/etc/adduser.conf` β ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΎΡ `/etc/login.defs` β Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅Ρ `useradd` Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΠ»Π°Π³Π°ΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°.
Π‘ΠΊΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ `useradd` ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ:
- Π ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ Π΅Π³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΌ Π²Π²ΠΎΠ΄ΠΎΠΌ.
- Π‘ΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠΎΠ»Ρ GECOS (ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ, Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠΌΠ½Π°ΡΡ, ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½, Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½, ΠΏΡΠΎΡΠ΅Π΅) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ.
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈΠ· `/etc/skel` Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ `-m`.
- Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠ°Π²Π° Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
- ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π³ΡΡΠΏΠΏΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ Π² `/etc/adduser.conf`.
Π ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π° Π±Π°Π·Π΅ Red Hat `adduser` ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° `useradd`, ΡΠΎ Π΅ΡΡΡ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΌΡ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ β ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΡΡΡΠΊΠΈ Π½Π΅Ρ. ΠΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ².
Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ adduser: /etc/adduser.conf
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Π² `/etc/adduser.conf`, Π²Π»ΠΈΡΡΡΠΈΠ΅ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:
β`
DSHELL=/bin/bash # Default shell
DHOME=/home # Parent directory for home directories
GROUPHOMES=no # Whether to create group-named subdirectories
LETTERHOMES=no # Whether to use first-letter subdirectories
USERGROUPS=yes # Create a group with the same name as the user
USERS_GID=100 # Default GID if USERGROUPS=no
DIR_MODE=0755 # Permissions on new home directories
SETGID_HOME=no
QUOTAUSER=""
SKEL=/etc/skel
SKEL_IGNORE_REGEX="dpkg-(old|new|dist|tmp)"
β`
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° Π²ΡΡΠΌ ΠΏΠ°ΡΠΊΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Debian/Ubuntu Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠ»Π°Π³ΠΈ.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ adduser
β`bash
adduser customuser
β`
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ΅Π°Π½Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
β`
Adding user 'customuser' β¦
Adding new group 'customuser' (1001) β¦
Adding new user 'customuser' (1001) with group 'customuser' β¦
Creating home directory '/home/customuser' β¦
Copying files from '/etc/skel' β¦
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for customuser
Enter the new value, or press ENTER for the default
Full Name []: Jane Smith
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
β`
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π³ΡΡΠΏΠΏΡ Π² Π½Π΅ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `adduser`:
β`bash
adduser customuser sudo
β`
ΠΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ: `adduser` ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅Π½ΡΡΠ²ΠΎΠΌ Π² Π³ΡΡΠΏΠΏΠ°Ρ , ΡΡΠΎ `useradd` Π½Π΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ
| ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | `useradd` | `adduser` |
|---|---|---|
| Π’ΠΈΠΏ | ΠΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° C) | Π‘ΠΊΡΠΈΠΏΡ (Perl Π² Debian, ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ° Π² RHEL) |
| ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ | ΠΠ΅ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ; Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ»Π°Π³ΠΈ | ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
| ΠΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ | ΠΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ `-m` (Debian) | Π‘ΠΎΠ·Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ |
| Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠΎΠ»Ρ | Π’ΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ `passwd` | ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ |
| ΠΠΎΠ»Ρ GECOS | ΠΠ°Π΄Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ»Π°Π³ `-c` Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ | Π‘ΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎΠ»Π΅ Π·Π° ΠΏΠΎΠ»Π΅ΠΌ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ |
| Π€Π°ΠΉΠ»Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² | ΠΠΎΠΏΠΈΡΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ»Π°Π³ΠΎΠΌ `-m` | ΠΠΎΠΏΠΈΡΡΡΡΡΡ Π²ΡΠ΅Π³Π΄Π° |
| Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ | `/etc/login.defs`, `/etc/default/useradd` | `/etc/adduser.conf` |
| ΠΡΠΎΡΡ-Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π½Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ | ΠΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ Linux | Π’ΠΎΠ»ΡΠΊΠΎ Debian/Ubuntu (Π² Π²ΠΈΠ΄Π΅ ΡΠΊΡΠΈΠΏΡΠ°-ΠΎΠ±ΡΡΡΠΊΠΈ) |
| ΠΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡΡ Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² | ΠΡΠ»ΠΈΡΠ½Π°Ρ β ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π΅ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ | ΠΠΈΠ·ΠΊΠ°Ρ β ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ»Π°Π³ΠΎΠ² `βdisabled-password` ΠΈ `βgecos` Π΄Π»Ρ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ |
| Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΡΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ | ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ»Π°Π³ `-r` | ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ»Π°Π³ `βsystem` |
| Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ | Π’ΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ | ΠΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ Π³ΡΡΠΏΠΏΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ |
| ΠΡΠ°Π½ΡΠ»ΡΡΠ½ΠΎΡΡΡ | ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ | ΠΡΡΡΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΌΠ΅Π½ΡΡΠ΅ Π³ΡΠ°Π½ΡΠ»ΡΡΠ½ΠΎΡΡΠΈ |
ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ useradd
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΠΊ ΠΊΠΎΠ΄
`useradd` β ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π² Π»ΡΠ±ΠΎΠΌ Π½Π΅ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅: ΠΏΠ»Π΅ΠΉΠ±ΡΠΊΠΈ Ansible, ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ Terraform, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ `RUN` Π² Docker, ΡΠΊΡΠΈΠΏΡΡ cloud-init ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ CI/CD. ΠΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π±Π΅Π· Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ stdin.
β`bash
Ansible task equivalent
useradd -m -s /bin/bash -G sudo -c "Deploy User" deployuser
echo "deployuser:$(openssl passwd -6 'securepassword')" | chpasswd
β`
ΠΡΠΎΡΡ-Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π½Π°Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ
ΠΡΠ±ΠΎΠΉ shell-ΡΠΊΡΠΈΠΏΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠ°ΠΊ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π° Π±Π°Π·Π΅ Debian, ΡΠ°ΠΊ ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π° Π±Π°Π·Π΅ RHEL, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `useradd`. ΠΠΏΠΎΡΠ° Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ `adduser` ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΡΠΊΡΡΡΡΠΌ ΡΠ±ΠΎΡΠΌ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠΌΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² CentOS, Fedora, Rocky Linux ΠΈΠ»ΠΈ Alpine Linux.
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΡΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΡΡΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΡΠ»ΡΠΆΠ±
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠ»ΡΠΆΠ± Π±Π΅Π· ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΠΎΠ² β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ `useradd`:
β`bash
useradd -r -s /usr/sbin/nologin -d /var/lib/myservice -m myservice
β`
Π€Π»Π°Π³ `-r` Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ UID Π½ΠΈΠΆΠ΅ ΠΏΠΎΡΠΎΠ³Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΡΡΡΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΡΠ΅Π΄Π°Ρ VPS Π₯ΠΎΡΡΠΈΠ½Π³Π°, Π³Π΄Π΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½Π° ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ ΡΠ»ΡΠΆΠ±.
Π’ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ UID/GID
Π ΡΡΠ΅Π΄Π°Ρ NFS, ΠΏΡΠΈ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ UID ΠΈ GID ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ. `useradd -u 1500 -g 1500` Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΡΠΎ; `adduser` Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π±Π΅Π· Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ adduser
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΡΠΈ ΡΡΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ²ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ `adduser` ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΡΠΈΡΠΊ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΠΎΡΠ°Π³ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΏΡΠΎΠΏΡΡΠΊ ΡΠ°Π³Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΡΠΎΠ»Ρ.
Π‘ΡΠ΅Π΄Ρ Debian/Ubuntu ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΡΠ»ΠΈ Π²ΡΡ Π²Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Debian ΠΈΠ»ΠΈ Ubuntu ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°ΡΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΌΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ, `adduser` Π±ΡΡΡΡΠ΅Π΅ Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ»Π°Π³ΠΎΠ² Π΄Π»Ρ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ `adduser username groupname` Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ Π³ΡΡΠΏΠΏΡ ΡΠΈΡΠ΅, ΡΠ΅ΠΌ `usermod -aG groupname username`, Ρ ΠΎΡΡ ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ.
ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ»Π°Π΄ΡΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ²
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΏΡΠΈΡΠΎΠ΄Π° `adduser` Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ Π»ΡΡΡΠΈΠΌ ΡΡΠ΅Π±Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ. ΠΠ½ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ»Π°Π½ Π²Π°ΠΆΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ (ΠΏΠ°ΡΠΎΠ»Ρ, ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ) ΠΈ ΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² UID ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ² ΠΈΡ ΠΈΠ·ΡΡΠΈΡΡ.
ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΈ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ
ΠΠΎΠ²ΡΡΠΊΠ° ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°
Π Debian/Ubuntu Π·Π°ΠΏΡΡΠΊ `useradd username` Π±Π΅Π· `-m` ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½ΠΎ Π½Π΅ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠΉΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΡ (ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΡΠΎΠ»Ρ), Π½ΠΎ `$HOME` Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΡΠ±ΠΎΡΠΌ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²Ρ ΠΎΠ΄Π΅ β Π²ΠΊΠ»ΡΡΠ°Ρ `.bash_history`, `.ssh/authorized_keys` ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
β`bash
Verify home directory existence after creation
ls -la /home/newuser || echo "Home directory missing β run: mkhomedir_helper newuser"
β`
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΠ°ΠΉΠ»Π° shadow
ΠΠ±Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π»ΠΎΠΊΠΈΡΡΡΡ `/etc/shadow` Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΠΈΡΠΈ. Π ΡΠΊΡΠΈΠΏΡΠ°Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°, ΡΠΎΠ·Π΄Π°ΡΡΠΈΡ Π΄Π΅ΡΡΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π³ΠΎΠ½ΠΊΠΈ. ΠΡΠΈ ΠΌΠ°ΡΡΠΎΠ²ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΠΎΠ»Π»ΠΈΠ·ΠΈΡ UID Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ ΡΡΠ΅Π΄Π°Ρ
ΠΡΠΈ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° VPS Ρ cPanel ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ΅Π΄Π°Ρ Ρ ΠΏΠ°Π½Π΅Π»ΡΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΌΠ° ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ UID. Π ΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΡΡΠΊ `useradd` Ρ ΠΆΡΡΡΠΊΠΎ Π·Π°Π΄Π°Π½Π½ΡΠΌ UID ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ Ρ UID, Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΠ°Π½Π΅Π»ΡΡ, ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ `getent passwd | awk -F: '{print $3}' | sort -n` ΠΏΠ΅ΡΠ΅Π΄ ΡΡΡΠ½ΡΠΌ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ UID.
adduser βdisabled-password Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `adduser` Π² ΡΠΊΡΠΈΠΏΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅Π³ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ `/etc/adduser.conf` ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ), ΠΏΠΎΠ΄Π°Π²ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ:
β`bash
adduser βdisabled-password βgecos "Automated User,,," scriptuser
echo "scriptuser:$(openssl passwd -6 'password')" | chpasswd
β`
Π€Π»Π°Π³ `βgecos` ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΡΠΌΠΈ-Π·Π°ΠΏΡΡΡΠΌΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΏΠΎΠ»ΡΠΌ GECOS, ΡΡΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ PAM ΠΈ NSS
ΠΠΈ `useradd`, Π½ΠΈ `adduser` Π½Π΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ PAM ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠΈ NSS (Name Service Switch) Π΄Π»Ρ LDAP, Active Directory ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ , ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Ρ `sssd` ΠΈΠ»ΠΈ `winbind`, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°ΡΡ Ρ ΡΡΡΡΠ½ΡΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΡΠ»ΡΠΆΠ±Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈΠ»ΠΈ Π±ΡΡΡ ΠΈΠΌΠΈ Π·Π°ΠΌΠ΅ΡΠ΅Π½Ρ. ΠΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ `/etc/nsswitch.conf` ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½Π½ΡΡ ΠΊ Π΄ΠΎΠΌΠ΅Π½Ρ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²
ΠΠ±Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΏΠΈΡΡΡΡ ΠΈΠ· `/etc/skel`. ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΠ΅Π΄Π°ΠΌΠΈ ΠΠ±ΡΠ΅Π³ΠΎ Π²Π΅Π±-Ρ ΠΎΡΡΠΈΠ½Π³Π°, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½ΡΠΆΠ΅Π½ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ `.bashrc`, `.vimrc` ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ SSH, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ β Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ `/etc/skel` ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄, Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
β`bash
Check passwd entry
getent passwd newuser
Check shadow entry (requires root)
getent shadow newuser
Check group memberships
groups newuser
id newuser
Verify home directory and permissions
ls -la /home/newuser
Test login shell
su -s /bin/bash β newuser -c "echo login successful"
β`
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
`useradd` ΠΈ `adduser` ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ. ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
- `usermod` β ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°, Π³ΡΡΠΏΠΏΡ, Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ).
- `userdel` / `deluser` β Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. `deluser βremove-home username` Π² Debian ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»ΡΠ΅Ρ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΡΡΠΈΠΊ.
- `passwd` β Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°/ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ.
- `chage` β Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΠΌΠΈ ΡΡΡΠ°ΡΠ΅Π²Π°Π½ΠΈΡ ΠΈ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ.
β`bash
Lock an account without deleting it
usermod -L username
Unlock
usermod -U username
Force password change on next login
chage -d 0 username
β`
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
- Π‘ΠΊΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, Π½Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° Debian, ΠΈΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠΌ? ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ `useradd`.
- ΠΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ, Π½Π΅ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΡΡΠ΅Π΄Π° (CI/CD, Ansible, Docker)? ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ `useradd`.
- ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ UID/GID Π΄Π»Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ NFS ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²? ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ `useradd -u -g`.
- ΠΡ ΡΠΎΠ·Π΄Π°ΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈΠ»ΠΈ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ Π±Π΅Π· ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π°? ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ `useradd -r -s /usr/sbin/nologin`.
- ΠΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² Debian/Ubuntu ΠΈ ΡΠΎΠ·Π΄Π°ΡΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅? ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ `adduser`.
- Π₯ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π³ΡΡΠΏΠΏΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠΎΠΉ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ? ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ `adduser username groupname`.
- ΠΡ ΠΏΠΈΡΠ΅ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΠ°Π΅ΡΠ΅ ΠΌΠ»Π°Π΄ΡΠΈΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Π² Debian? ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ `adduser`.
- ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π½Π΅ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ Π² ΠΌΠ°ΡΡΡΠ°Π±Π΅? ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ `useradd` Ρ ΡΠ²Π½ΡΠΌΠΈ ΡΠ»Π°Π³Π°ΠΌΠΈ.
ΠΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ Π³ΠΈΠ³ΠΈΠ΅Π½Π° ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΎΠ΄Π½ΠΈΠΌ VPS ΠΈΠ»ΠΈ ΠΏΠ°ΡΠΊΠΎΠΌ ΠΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½Π° Π΄ΠΈΡΠΊ β ΠΈ ΡΡΠΎ ΠΎΠ½Π° ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅Π·Π°Π΄Π°Π½Π½ΡΠΌ β ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»Π°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΈ ΡΠ±ΠΎΠ΅Π² Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ ΠΈΠ·-Π·Π° Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ.
FAQ
Π‘ΠΎΠ·Π΄Π°ΡΡ Π»ΠΈ useradd Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ?
ΠΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°. Π ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π° Π±Π°Π·Π΅ Red Hat (RHEL, CentOS, Rocky Linux) `CREATE_HOME yes` Π² `/etc/login.defs` Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ `useradd` Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. Π Debian ΠΈ Ubuntu Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠ²Π½ΠΎ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ»Π°Π³ `-m`.
ΠΠΎΡΡΡΠΏΠ΅Π½ Π»ΠΈ adduser Π² CentOS ΠΈΠ»ΠΈ Rocky Linux?
Π Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Π½Π° Π±Π°Π·Π΅ RHEL `adduser` ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° `useradd`, Π° Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Perl-ΠΎΠ±ΡΡΡΠΊΠΎΠΉ, ΠΊΠ°ΠΊ Π² Debian/Ubuntu. ΠΠ°ΠΏΡΡΠΊ `adduser username` Π² CentOS Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎ `useradd username` β Π±Π΅Π· ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ, Π±Π΅Π· Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² ΡΡΠΈΠ»Π΅ Debian.
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ adduser Π½Π΅ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ Π² ΡΠΊΡΠΈΠΏΡΠ΅?
ΠΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ `βdisabled-password` Π΄Π»Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠ°ΡΠΎΠ»Ρ ΠΈ `βgecos ""` Π΄Π»Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ GECOS: `adduser βdisabled-password βgecos "" username`. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΠΎΡΠ»Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `echo "username:password" | chpasswd` ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π² Ρ ΡΡ `openssl passwd -6` ΡΠ΅ΡΠ΅Π· pipe.
Π ΡΡΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ /etc/login.defs ΠΈ /etc/adduser.conf?
`/etc/login.defs` β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΡΠΈΡΡΠ²Π°Π΅ΠΌΡΠΉ `useradd`, `userdel` ΠΈ `usermod` β ΠΎΠ½ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ UID/GID, Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΡΡΠ°ΡΠ΅Π²Π°Π½ΠΈΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. `/etc/adduser.conf` ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Perl-ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ `adduser` ΠΈ `deluser` Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π° Π±Π°Π·Π΅ Debian ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΏΡΡΡ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ².
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΡΠΌΠ΅ΡΠΈΠ²Π°ΡΡ useradd ΠΈ adduser Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Debian?
ΠΠ°. ΠΠ±Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΡΡΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΉΠ»Ρ `/etc/passwd`, `/etc/shadow` ΠΈ `/etc/group`. Π£ΡΡΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π΅ΠΎΡΠ»ΠΈΡΠΈΠΌΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ: Π΅ΡΠ»ΠΈ Π²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ `adduser` Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π° ΡΠΊΡΠΈΠΏΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ `useradd` Π±Π΅Π· `-m`, Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠ³ΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ. Π‘ΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΠΈ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ.
Π½Π° Π²ΡΠ΅Ρ
Ρ
ΠΎΡΡΠΈΠ½Π³ΠΎΠ²ΡΡ
ΡΡΠ»ΡΠ³Π°Ρ