Oto kod skryptu, którego teraz używam:
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"
To podejście działa dobrze w openSuse. Ale istnieje kilka problemów z kontem użytkownika, które tworzy na Ubuntu, więc szukam tutaj pomocy.
- monit terminala nie jest ustawiony (
echo $PS1
nic nie zwraca) - klawisze strzałek i klawisz tab nie działają poprawnie w terminalu
- hasło nie działa (chociaż nadal nie jestem do końca jasne, na czym polega ten problem)
- prawa / etc / sudoers ustawione dla tego nowego użytkownika nie są honorowane
Jeśli zamiast tego ręcznie utworzę użytkownika za pomocą adduser
(zamiast useradd), nie mam tych problemów na Ubuntu. Ale nie mogę używać adduser
na openSuse (afaik). Dlatego potrzebuję niewyłącznego dla Debiana skryptu lub metody dodawania kont użytkowników za pomocą mojego skryptu bash, który działa na Ubuntu (i nie przestaje działać na innych dystrybucjach).
Na koniec chciałbym zrozumieć różnice między adduser
i useradd
. Na przykład chcę wiedzieć, który katalog szkieletowy jest używany, adduser
ponieważ może to być przyczyną, że useradd
nie działa zgodnie z oczekiwaniami (ponieważ właśnie zaakceptowałem domyślny).
Dzięki
sudo su -c "cmd arg1 arg2"
jest równoważne z sudo cmd arg1 arg2
.
sudo su -c "cmd arg1 arg2"
, aby działał wszędzie, gdzie go potrzebuję.
adduser
jest skryptem perla o długości przekraczającej 1000 wierszy, więc dla różnic możesz zajrzeć do skryptu.
adduser
ale nie znam perla. To nie jest dla mnie dobre podejście.
man useradd
): useradd to narzędzie niskiego poziomu do dodawania użytkowników. W Debianie administratorzy zwykle powinni zamiast tego używać adduser (8).