Ось код сценарію, який я зараз використовую:
getent group $MYGROUP
if [ $? -ne 0 ] ; then
sudo su -c "groupadd $MYGROUP"
fi
sudo su -c "useradd mynewuser -p mypassword -m -g $PRIMARYGRP -G $MYGROUP"
Цей підхід добре працює на openSuse. Але є кілька проблем з обліковим записом користувача, який він створює в Ubuntu, тому я шукаю тут допомоги.
- термінальний рядок не встановлений (
echo $PS1нічого не повертає) - клавіші зі стрілками та клавіша вкладки не працюють належним чином у терміналі
- начебто, пароль не працює (хоча мені все ще незрозуміло, що це за проблема)
- права / etc / sudoers, встановлені для цього нового користувача, не дотримуються
Якщо замість цього я вручну створюю користувача за допомогою adduser(замість useradd), у Ubuntu цих проблем у мене немає. Але я не можу використовувати adduserна openSuse (afaik). Тому мені потрібен сценарій чи метод, що не належить до Debian, або додавання облікових записів користувачів через мій скрипт bash, який працює на Ubuntu (і не припиняє працювати над іншими дистрибутивами).
Нарешті, я хотів би зрозуміти відмінності між adduserта useradd. Наприклад, я хочу знати, який каталог скелетів використовується, adduserтому що це може бути причиною того, що useraddвін не працює так, як очікувалося (тому що я просто прийняв за замовчуванням).
Спасибі
sudo su -c "cmd arg1 arg2"еквівалентно sudo cmd arg1 arg2.
sudo su -c "cmd arg1 arg2"таким чином, щоб він працював скрізь, коли мені це потрібно.
adduser- це сценарій Perl довжиною більше 1000 рядків, тому для відмінностей ви можете подивитися на сценарій.
adduserале не знаю перл. Тож це не дуже підходить для мене.
man useradd): useradd - це утиліта низького рівня для додавання користувачів. У Debian адміністратори зазвичай замість цього використовують adduser (8).