2009-12-02 00:47:25 +0000 2009-12-02 00:47:25 +0000
138
138

Come posso creare un utente non-login?

Vorrei creare un utente e un gruppo chiamato subversion su un sistema RHEL 5. Ho guardato la pagina man per useradd e credo che il comando sarebbe solo…

useradd subversion

Tuttavia, non so come evitare di creare un home dir. Inoltre, non voglio che sia un utente che può accedere al sistema.

Lo scopo principale è solo quello di fornire un proprietario per un repository SVN.

Risposte (8)

229
229
229
2012-12-06 20:10:20 +0000

È possibile utilizzare il seguente comando:

useradd -r subversion
``` ```
man useradd

Per ulteriori informazioni, controllare pagine del manuale con questo comando:

-r, --system create a system account
``` &001 


Troverete in questa documentazione il seguente flag che può essere utilizzato per il vostro scopo. 


&001 &001 

Il flag `-r` creerà un utente del sistema - uno che non ha una password, una home dir e non è in grado di effettuare il login.
81
81
81
2009-12-02 00:58:07 +0000

È possibile utilizzare lo switch -M (assicurarsi che sia un capitale) per garantire che non venga creata alcuna directory home:

useradd -M subversion

quindi bloccare il conto per impedire l'accesso:

usermod -L subversion
22
22
22
2015-03-01 20:04:05 +0000

Un'altra soluzione per creare un utente di sistema, utilizzando adduser :

adduser --system --no-create-home --group yourusername
``` &001 


È possibile rimuovere `--group` se non si ha bisogno di raggruppare il proprio nome utente, e `--no-create-home` se si ha bisogno di una casa per questo utente. 

Come menzionato da py4on nei commenti, su alcuni sistemi potrebbe essere necessario utilizzare l'opzione `--disabled-login` per, beh, disabilitare il login per questo utente. Sembra essere il comportamento predefinito sotto Debian, però. 


Attenzione che l'ID numerico dell'utente sarà di un account di sistema. È possibile correggere l'uid utilizzando l'opzione `--uid`, però. 


Infine, si noti che su alcuni sistemi (ad esempio Fedora) `adduser` è un collegamento simbolico a `useradd`, nel qual caso questa risposta non è valida.
17
17
17
2016-05-17 06:15:03 +0000

La risposta più pulita alla domanda originale è quella di eseguire il comando:

adduser subversion --shell=/bin/false
``` ```
adduser subversion --shell=/bin/false --no-create-home

E se non si vuole la directory home:

adduser subversion --system --group
``` &001 


o, se si vuole un utente di sistema ancora più bloccato (Normalmente questo non creerà una directory home - è stato riportato che creerà comunque una directory home in linux mint come da commento sotto) 


&001 &001 


Tutti questi comandi creeranno un gruppo con lo stesso nome dell'utente
13
13
13
2017-03-07 14:04:28 +0000

La forma più sicura per farlo sarebbe quella di utilizzare adduser in questo modo:

$ adduser -r -s /bin/nologin subversion

** NOTA:** Assicuratevi di includere -s /sbin/nologin per disabilitare qualsiasi shell di login da mettere a disposizione dell'account.

Conferma della configurazione

$ grep subversion /etc/passwd /etc/shadow
/etc/passwd:subversion:x:496:496::/home/subversion:/bin/nologin
/etc/shadow:subversion:!!:17232::::::
``` ```
$ ll /home | grep subversion
$

Tuttavia non esiste una directory:

$ sudo -u subversion whoami
subversion

$ sudo -u subversion date
Tue Mar 7 08:58:57 EST 2017
``` ```
$ userdel subversion -r
userdel: subversion mail spool (/var/spool/mail/subversion) not found
userdel: subversion home directory (/home/subversion) not found
$

Confermare che l'account è altrimenti utilizzabile:

$ grep rtim-hc-user /etc/passwd /etc/shadow
$

Rimozione

Se è necessario rimuovere questo account:

&001

E confermare:

&001

1
1
1
2016-09-06 15:06:22 +0000

Su una macchina CentOS 7 è possibile utilizzare i seguenti comandi:

  • Se l'utente non esiste:

  • se si desidera modificare un utente esistente:

0
0
0
2019-09-02 00:38:41 +0000

In Debian, si potrebbe creare un utente di sistema (senza la directory home) e la shell di login:

useradd --system --shell=/usr/sbin/nologin <username>

Se il programma nologin è in /sbin/nologin, si prega di cambiare di conseguenza.

0
0
0
2019-06-08 18:45:03 +0000

Iniziare generando una password criptata per l'utente con un massimo di 8 caratteri facendo:

openssl passwd -crypt new_password_less_than_eight_chars_long

Poi si fa:

useradd -m -g groupname -G otherGroupsSeperatedByComma -p encryptedPassword username