Estou ajudando a ministrar dois cursos Unix na próxima semana. Será concedida aos usuários uma conta em uma máquina RHEL 5, durante a qual eles adicionarão arquivos à sua /home
pasta, atualizarão seus .bashrc
e outros arquivos de pontos e realizarão outra confusão geral que precisa ser limpa.
Os alunos da segunda sessão reutilizarão as contas de usuário das pessoas na primeira sessão. Gostaria de automatizar a limpeza de suas contas, para que novos usuários possam começar de novo.
Tenho certeza de que poderia escrever um script de shell que execute su -u $USER_ID
e estabeleça um conjunto "original" de bons arquivos em sua casa e remova qualquer outra coisa que encontrar. Existem outras ferramentas que me ajudarão nessa operação de limpeza / redefinição? Eu não tenho nenhuma experiência com Puppet, Chef ou outras ferramentas. Eles seriam úteis para fazer algo assim?
Para fornecer um escopo do problema, existem cerca de 30 contas de usuário, conheço todas as IDs de usuário / senhas e todas elas são criadas na mesma caixa RHEL.
fonte
Respostas:
Há muitas maneiras de ajudar:
/etc/skel
volta para o homedir. Altere as permissões posteriormente.tar
o diretório inicial antes da lição, exclua o arquivo inicial depois, restaure detar
E aprender outras ferramentas como Puppet / Chef é um pouco demais se você deseja resultados na próxima semana.
fonte
tar
e restaurarei e tentarei aprender uma ferramenta como o Puppet quando não estiver com problemas de tempo.Digamos que todos os seus alunos tenham um UID entre 1000 e 65000
Uma linha rápida como essa funcionaria. O Awk imprimirá um comando rsync e um comando chown para todos os usuários no intervalo. Enviar a saída do awk para o bash executará todos os comandos para redefinir diretórios e permissões.
fonte
Se você estiver usando o gdm para o seu gerenciador de login, poderá adicionar algo como este arquivo: / etc / gdm / PostSession / Default
fonte
O conjunto "original" de arquivos de conta geralmente está localizado em / etc / skel em sistemas unix.
Além disso, não conheço nenhuma ferramenta para automatizar a limpeza. Eu provavelmente acabaria escrevendo um script bash simples.
fonte
Tente isto
fonte
Pode haver alguma ferramenta interessante que ajude, mas eu provavelmente (a) colocaria o material desejado em um repositório git e (b) escrevia um script que itera sobre os usuários e rm é o material desejado e extrai do repositório git .
fonte
Isso funciona para o gnome do Ubuntu: pico /usr/local/bin/cleanup.sh
rm -rf / home / user / Downloads / *
faça o mesmo se quiser remover o Documents
exit chmod 511 /usr/local/bin/cleanup.sh
pico / etc / gdm / PostSession / Padrão
! / bin / bash
/usr/local/bin/cleanup.sh exit 0
fonte