Π‘ΡΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ 15% Π½Π° всСх хостинговых услугах

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° любой Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄: Skills ΠΠ°Ρ‡Π°Ρ‚ΡŒ
Π ΡƒΠ±Ρ€ΠΈΠΊΠΈ
Linux Администрация

useradd vs adduser: ВСхничСскиС различия, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

`useradd` β€” это низкоуровнСвая бинарная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, доступная практичСски Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ дистрибутивС Linux, которая создаёт ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ записи ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡƒΡ‚Ρ‘ΠΌ прямой записи Π² `/etc/passwd`, `/etc/shadow` ΠΈ `/etc/group`. `adduser` β€” это высокоуровнСвый скрипт-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ°, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ написанный Π½Π° Perl Π² систСмах Π½Π° Π±Π°Π·Π΅ Debian, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ `useradd` Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя, автоматизируя созданиС домашнСго ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²-шаблонов, запрос пароля ΠΈ сбор ΠΏΠΎΠ»Π΅ΠΉ GECOS. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² удобствС использования: Π²Ρ‹Π±ΠΎΡ€ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ инструмСнта Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ Π² систСмС, Π½Π΅ основанной Π½Π° Debian, ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ привСсти ΠΊ созданию Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Ρ… ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… записСй ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

ОбС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ систСмы, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ сущСствСнно различаСтся Π² части настроСк ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, интСрактивности, пСрСносимости ΠΈ возмоТности использования Π² скриптах. Π’ этом руководствС Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ всС тСхничСскиС различия, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ администратору для принятия обоснованного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Π§Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ useradd ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ

`useradd` Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав ΠΏΠ°ΠΊΠ΅Ρ‚Π° shadow-utils (ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ `passwd` Π² старых дистрибутивах). ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΎΠ½ выполняСт ряд Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

  1. Π§ΠΈΡ‚Π°Π΅Ρ‚ `/etc/login.defs` для опрСдСлСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² UID ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ устарСвания ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ ΠΈ Ρ‚ΠΎΠ³ΠΎ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π»ΠΈ домашний ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  2. Π§ΠΈΡ‚Π°Π΅Ρ‚ `/etc/default/useradd` для получСния ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ шаблонов ΠΈ повСдСния Π³Ρ€ΡƒΠΏΠΏ.
  3. ЗаписываСт Π½ΠΎΠ²ΡƒΡŽ запись Π² `/etc/passwd` ΠΈ `/etc/shadow`.
  4. ΠŸΡ€ΠΈ нСобходимости создаёт домашний ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· `/etc/skel`, Ссли явно ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Ρ„Π»Π°Π³ `-m`.
  5. ΠŸΡ€ΠΈ нСобходимости создаёт ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ссли Π² `/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`, Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ домашниС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ срСды ΠΈ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ.