it-swarm-eu.dev

Come posso creare un utente non di accesso?

Mi piacerebbe creare un utente e un gruppo entrambi chiamati Subversion su un sistema RHEL 5. Ho guardato la pagina man di useradd e immagino che il comando sarebbe stato semplicemente ...

useradd Subversion

Tuttavia, non sono sicuro di come evitare di creare una directory home. 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.

120
Ethan

Puoi usare l'opzione -M (assicurati che sia una maiuscola) per assicurarti che non venga creata la home directory:

useradd -M Subversion

quindi blocca l'account per impedire l'accesso:

usermod -L Subversion
71
John T

useradd -r Subversion

per man useradd :

-r, --system create a system account

Il flag -r creerà un utente di sistema, uno che non ha una password, una home directory e non è in grado di accedere.

201
rynop

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

adduser --system --no-create-home --group yourusername

Puoi rimuovere --group se non hai bisogno di group yourusername e --no-create-home se hai 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. Tuttavia, sembra essere il comportamento predefinito in Debian.

Attenzione che l'ID numerico dell'utente sarà di un account di sistema. Puoi però aggiustare l'uid usando l'opzione --uid.

Infine, si noti che su alcuni sistemi (ad esempio Fedora) adduser è un collegamento simbolico a useradd, nel qual caso questa risposta non è valida.

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

adduser Subversion --Shell=/bin/false

E se non vuoi la home directory:

adduser Subversion --Shell=/bin/false --no-create-home

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

adduser Subversion --system --group

Tutti questi comandi creeranno un gruppo con lo stesso nome dell'utente

14
TimmyGee

La forma più sicura di fare questo sarebbe usare adduser in questo modo:

$ adduser -r -s /bin/nologin Subversion

NOTA: Assicurati di includere -s /sbin/nologin per disabilitare qualsiasi Shell di accesso che viene resa disponibile all'account.

Conferma della configurazione

$ grep Subversion /etc/passwd /etc/shadow
/etc/passwd:Subversion:x:496:496::/home/Subversion:/bin/nologin
/etc/shadow:Subversion:!!:17232::::::

Tuttavia non c'è una directory:

$ ll /home | grep Subversion
$

Conferma che l'account è altrimenti utilizzabile:

$ Sudo -u Subversion whoami
Subversion

$ Sudo -u Subversion date
Tue Mar  7 08:58:57 EST 2017

Rimozione

Se è necessario rimuovere questo account:

$ userdel Subversion -r
userdel: Subversion mail spool (/var/spool/mail/Subversion) not found
userdel: Subversion home directory (/home/Subversion) not found
$

E conferma:

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

Su una macchina CentOS 7

  • se l'utente non esiste:
    useradd testuser --Shell=/sbin/nologin

  • se si desidera modificare un utente esistente:
    usermod testuser --Shell=/sbin/nologin

1
lauc.exon.nod