Zajištění existence uživatele na systému Debian GNU / Linux

hlasů
3

Jsem v současné době pracuje na balíčku Debian pro program in-house. V rámci tohoto balíčku, musím vytvořit uživatele, který většinu funkcí programu běží as. Dělám to v poinstalačními skriptu. Poinstalačními Skript lze spustit několikrát (na inovaci, například), takže je důležité, aby zajistily, že nebudu pokoušet se vytvořit uživatele pokaždé.

Tak, jak se mohu ujistit, že uživatel je vytvořen pouze při prvním, že skript je spuštěn, aniž by to ovlivnilo to na pozdější jízd scénáře?

Položena 24/08/2009 v 12:24
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
9

Snaž se:

[aiden@dev ~]$ id aiden
uid=500(aiden) gid=500(aiden) groups=500(aiden)
[aiden@dev ~]$ id foomonkey
id: foomonkey: No such user
[aiden@dev ~]$ 

První $?je 0, druhý je 1.

Odpovězeno 24/08/2009 v 12:27
zdroj uživatelem

hlasů
2

Nemusíte vědět, zda uživatel existuje, či nikoli. adduser (8) se nevrací chybu v případě, že uživatel se stejnými parametry již existuje. Z manuálové stránky:

EXIT VALUES
       0      The  user  exists as specified. This can have 2 causes: The user
              was created by adduser or the user was already  present  on  the
              system  before  adduser  was  invoked. Invoking adduser a second
              time with the same parameters as before also returns 0.
Odpovězeno 24/08/2009 v 14:13
zdroj uživatelem

hlasů
1

jak je zmíněna před použitím příkazu ‚id‘, chcete-li získat všechny uživatele v systému, můžete použít:

getent passwd

který vypíše všechny uživatele v systému (a to i v případě, že jsou na vzdálené databázi, jako je LDAP nebo NIS a další ...)

Odpovězeno 29/08/2009 v 21:11
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more