Come creare / modificare file per un utente nologin in RHEL / CentOS?


1

Ho un utente definito in questo modo:

sudo useradd -m -s /sbin/nologin foo

Non è pensato per essere loggato ma è destinato a servire un'applicazione web. Tuttavia, se provo a fare qualcosa all'interno della directory ...

sudo -u foo -H touch bar

Ricevo un errore

touch: cannot touch ‘bar’: Permission denied

La mia domanda è: cosa sto facendo di sbagliato? Cioè, se è possibile, cosa devo fare per controllare la home directory di un utente senza la necessità di accedere?

Risposte:


1

sudo -u foo -H touch bar

Stai tentando di assumere l'account dell'utente foo, che non ha accesso al login (in particolare, una shell). Non funzionerà :-)

Puoi controllare la home directory dell'utente come root. per esempio

sudo touch /home/foo/bar
sudo chown foo.foo /home/foo/bar

Per ottenere ciò che vuoi, o se puoi, sufare il root e farlo, oppure;

È possibile eseguire una sostituzione una tantum della shell per l'utente foo

su -s /bin/bash foo

Per portarti a una shell bash in esecuzione come utente foo e apportare le modifiche lì. Questo è ciò che probabilmente vorrai fare in primo luogo.

Nota:

Un utente con / sbin / nologin è generalmente un account di sistema. Gli account di sistema dovrebbero essere gestiti dall'utente root o da un utente con privilegi sudo (un membro del gruppo di ruote nelle versioni recenti di RHEL / CentOS). Per prima cosa ti ho dato il metodo, perché in genere è così, non in questo modo. Questo non vuol dire che lo stai facendo nel modo sbagliato - ce n'è sempre più di uno :-)


Hmm. Tutto ciò ha senso. Ho passato l'utente a bash. Tuttavia, ho ancora problemi di autorizzazione. Utilizzando sudo come funziona l'utente corrente, però. E ci sono sicuramente altri modi per farlo. Ricordo che una volta scappavo con un comportamento automatizzato usando un utente git. : D
Pori,

Allora chiederò l'ovvio: hai controllato il proprietario / gruppo di / home / foo ed è foo.foo? Quindi i permessi dei file? drwvrwx ---?
Bert GT

Quelle sono esattamente le autorizzazioni.
Pori,

Quale versione di CentOS o RHEL stai utilizzando? Funziona bene per me in V7.
Bert GT,

Devo trascurare qualcosa perché sto eseguendo RHEL 7.
Pori,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.