Ось код сценарію, який я зараз використовую:
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).