Como criar / editar arquivos para um usuário nologin no RHEL / CentOS?

1

Eu tenho um usuário definido assim:

sudo useradd -m -s /sbin/nologin foo

Ele não deve estar conectado, mas destina-se a servir um aplicativo da web. No entanto, se eu tentar fazer alguma coisa dentro do diretório ...

sudo -u foo -H touch bar

Eu recebo um erro.

touch: cannot touch ‘bar’: Permission denied

Minha pergunta é: o que estou fazendo de errado? Ou seja, se for possível, o que devo fazer para controlar o diretório pessoal de um usuário sem a necessidade de efetuar login?

    
por Pori 09.10.2014 / 01:49

1 resposta

1

sudo -u foo -H touch bar

Você está tentando assumir a conta do usuário foo, que não tem acesso de login (especificamente, um shell). Isso não vai funcionar: -)

Você pode controlar o diretório inicial do usuário como root. por exemplo,

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

Para conseguir o que você quer, ou se você puder, su para root e faça isso, ou;

Você pode fazer uma substituição única do shell para o usuário foo

su -s /bin/bash foo

Para chegar a um bash shell rodando como o usuário foo, e faça suas mudanças lá. Qual é o que você provavelmente está querendo fazer em primeiro lugar.

Nota:

Um usuário com / sbin / nologin geralmente é uma conta do sistema. As contas do sistema devem ser gerenciadas pelo usuário raiz ou por um usuário com privilégios sudo (um membro do grupo wheel em versões recentes do RHEL / CentOS). Eu te dei um método primeiro, porque geralmente é assim que é feito, não do jeito que você está fazendo. Isso não quer dizer que você está fazendo do jeito errado - sempre há mais de um: -)

    
por 09.10.2014 / 11:38