posso informar ao useradd para executar um script? Talvez em / etc / default / useradd?

1

Existem muitas pessoas que já responderam à pergunta "como executar useradd adequadamente em um script?"

A minha pergunta é: "é possível dizer ao useradd para executar um script quando é chamado?"

Estou escrevendo um script para enviar arquivos de identidades (ssh-keys) em um cluster HPC quando um usuário é criado, mas acho que a maneira mais "limpa" seria escrever um script que fosse executado por useradd.

O script deve fazer algo assim:

#!/bin/bash
# sshpush.sh
#
# a script to SSH without passwords around the cluster nodes

mkdir $HOME/.ssh
cd $HOME/.ssh

ssh-keygen -q

cat id_rsa.pub >> authorized_keys

cat > config <<EOF
StrictHostKeyChecking no
FallBackToRsh no
BatchMode yes
ConnectionAttempts 5
UsePrivilegedPort no
Compression no
Cipher blowfish
CheckHostIP no
EOF

cpush /etc/passwd
cpush /etc/shadow
cpush /etc/groups

observe que o diretório / home está montado como NFS em todos os nós.

O ideal é que o script seja executado no final do processo de criação do usuário, depois que $HOME for criado e o usuário como um grupo válido e id.

    
por Danduk82 07.02.2014 / 00:44

2 respostas

1

Parece que isso não é uma opção aqui (Fedora 19, shadow-utils-4.1.5.1-5.fc19). Parece uma extensão muito útil, no entanto. Por favor, comunique isso como um pedido de melhorias no bugtracker da sua distribuição (ou para onde isso deveria acontecer).

    
por 07.02.2014 / 02:06
0

Eu não fiz muitos testes com o seu caso, mas às vezes você pode usar alias command= para alterar o que o comando faz. Experimente com ls primeiro e brinque com ele para aprender como o aliasing pode funcionar. Quando terminar, diga unalias ls e o shell integrado continuará funcionando.

    
por 07.02.2014 / 19:56