Яка різниця між командами adduser
та useradd
Ubuntu?
Яка різниця між командами adduser
та useradd
Ubuntu?
Відповіді:
useradd
є нативним двійковим файлом, складеним із системою. Але,adduser
це сценарій perl, який використовуєuseradd
бінарний в бек-енді.
adduser
є більш зручним для користувача та інтерактивним, ніж його бек-ендuseradd
. Немає різниці в наданих функціях.
-m
опцією створить домашній каталог.
adduser(8)
є більш зручним і створює та налаштовує користувача за замовчуванням так, як ви очікуєте. І useradd(8)
виконайте лише те, що ви просите, так що ви хочете створити домашній каталог, ви повинні сказати йому, щоб створити його для вас.
Завжди використовуйтеadduser
(і deluser
при видаленні користувачів) під час створення нових користувачів з командного рядка. (Якщо ви пишете сценарій, особливо якщо ви прагнете переносимості, можливо, замість цього скористаєтесь утилітами низького рівня - і adduser
/ deluser
може бути недоступним у всіх дистрибутивах, наприклад, на SuSE.)
В useradd
, userdel
і usermod
команди низькорівневих утиліт , які існують з історичних причин, в той час як adduser/deluser
Do The Right Thing ™. (Я пам’ятаю, що використовувати, думаючи, що user*
йде за adduser/deluser
алфавітом, і тому «гірше».)
Відповідно до відповідних посібників (на Ubuntu 12.04 Precision Pangolin, тобто похідна система Debian).
adduser
каже:(Наголос додано.)
adduser
іaddgroup
додавати користувачів та групи до системи відповідно до параметрів командного рядка та інформації про конфігурацію в/etc/adduser.conf
. Вони більш дружелюбним передні кінці з інструментами низького рівня , якuseradd
,groupadd
іusermod
програмою , за замовчуванням вибирає політику Debian UID і сумісний значення GID, створюючи домашній каталог з скелетної конфігурацією, запуск користувацького сценарію, і інші можливості.adduser
іaddgroup
може працювати в одному з п’яти режимів:
useradd
каже:
useradd
- це утиліта низького рівня для додавання користувачів. У Debian зазвичайadduser(8)
замість цього використовуються адміністратори .
Дивіться також: Яка різниця між "adduser" і "useradd"? (на SuperUser)
adduser
": Для автоматизованих сценаріїв я вважаю за краще, useradd
оскільки він завжди є, неінтерактивний та не дистрофічний .
adduser
на openSUSE, і його там немає. (13.2)
locate adduser
систему SuSE 11 на роботі, я виявив, що там розміщено adduser
вкладку, але немає бінарних файлів (і ні deluser
манпаж, ні команда).
/usr/sbin/adduser -> useradd
adduser
: додайте користувача з повним профілем та інформацією (пропуск, квота, дозвіл тощо)
useradd
: додайте користувача лише з його іменем (якщо ви хочете додати тимчасового користувача лише з іменем, інша інформація не потрібна)
Ще одна різниця, яка призводить до конкретних сценаріїв, де Useradd може бути кращим.
У деяких нових дистрибутивах, включаючи Ubuntu 14.4, adduser запропонує інформацію, наприклад, пароль та "gecos" (дані для пальцевої команди). Це означає, що він може бути менш придатним для дзвінка зі сценарію (кредит: вже згадувалося в коментарі Wernight).
Підказки можна придушити, передаючи нульові аргументи:
adduser --disabled-password --gecos "" USER
useradd
дозволяє передавати кілька додаткових груп, щоб додати користувача за допомогою -G
опції. adduser
Схоже, потрібно вимагати виклику команди один раз для кожної групи, яку потрібно додати.
adduser
дружніше тим, що він налаштовує домашні папки облікового запису та інші налаштування (наприклад, автоматично завантажує статистику системи та повідомлення при вході в систему), тоді як useradd
просто створює користувача.
Основна відмінність полягає в тому, що "adduser" створить домашній каталог і додасть файли скелетів до тієї директорії, де "useradd" не створить будь-якого домашнього каталогу та файлів скелета!
Adding user `try' ...
Adding new group `try' (1001) ...
Adding new user `try' (1001) with group `try' ...
Creating home directory `/home/try' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for try
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
# ll /home/
total 20
drwxr-xr-x 5 root root 4096 Oct 26 15:52 ./
drwxr-xr-x 22 root root 4096 Oct 26 15:47 ../
drwx------ 8 ashishk ashishk 4096 Oct 26 15:50 ashishk/
drwxr-xr-x 3 root root 4096 Oct 14 13:02 .ecryptfs/
drwxr-xr-x 2 try try 4096 Oct 26 15:52 try/
root@chef-workstation:/home/ashishk#
Я також зазначу, що adduser
не завжди є така -M
можливість, а також не поважає --system
прапор, який конкретно говорить :
Зауважте, що useradd не створить домашній каталог для такого користувача, незалежно від налаштування за замовчуванням у /etc/login.defs (CREATE_HOME). Ви повинні вказати параметри -m, якщо ви хочете створити домашній каталог для створення облікового запису системи.
Якщо ви намагаєтесь створити користувача системи без домашнього каталогу, тоді використовуйте useradd --system -M
.