Вот код скрипта, который я сейчас использую:
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
но я не знаю Perl. Так что это не очень хороший подход для меня.
man useradd
): useradd - утилита низкого уровня для добавления пользователей. В Debian администраторы обычно должны использовать вместо этого adduser (8).