Script para restaurar as definições de um utilizador a cada boot

Iniciado por mhipo, 28 de Abril de 2010, 08:20

tópico anterior - próximo tópico

mhipo

Olá

Na escola onde trabalho temos computadores com ubuntu. O problema é que após alguns dias, a configuração inicial já foi muito modificada pelos alunos.

Não queremos restringir a possibilidade dos alunos explorarem e experimentarem este sistema operativo.

A ajuda que pretendemos é para a elaboração de um script que a cada boot, faça um restauro das definições de utilizador iniciais.

Eventualmente teria de ser feito uma cópia das definições do utilizador (por exemplo utilizador aluno), que depois seriam copiadas a cada boot.

Agradeço ajuda para a elaboração deste script.

Obrigado.

irtigor

Fica difícil dizer faz isso, edita aquilo, sem saber como as maquinas estão configuradas (rede por exemplo) e como é feita a utilização. Mas de forma genérica, se o usuário usado não é root, ele só pode editar suas próprias configurações, bastaria apagar os arquivos de configurações (.gnome .gnome2 .gconf .gconfd .metacity e mais alguns) para que eles voltassem com os valores padrões, você pode também optar  por apagar tudo dentro do ~ e colocar o conteúdo que está em outro lugar (um servidor talvez?). Existem outras formas de fazer, é claro, mas tentei usar a forma mais simples possível.

mhipo

Obrigado pela ajuda.

A ideia seria:
1. copiar as pastas conf do utilizador aluno para outro local (backup)
2. criar um script que copiasse as pastas de backup por cima das pastas do utilizador aluno
3. a cópia teria de ser a cada boot

Assim, mesmo que o wallpaper, icons, etc, fossem apagados ou modificados pelos alunos, o aluno seguinte, ao fazer o boot, tinha as definições
novamente repostas como na primeira utilização.
Agradeço uma ajuda para este script.

irtigor

Vou tentar ajuda:

1) Se a configuração que deve ser mantida é padrão e não vai ser alterada, não deve ser colocada no script, crie uma copia de um ~ do "aluno_default" e mantenha ela em alguns lugares. Evita um processo desnecessário (salvar as configurações locais antes de serem alteradas, mandar pra algum lugar e baixar elas de novo). E se as maquinas possuem as mesmas configurações, é interessante criar um cd de instalação customizado e um clone do HD.

2) Para remover as alterações, existem, N maneiras, vou tentar mostra algumas.

    -Colocar o um script para ser executado "em tempo de boot", olhe: upstart, init, bootup-manager ou /etc/gdm/PostSession/Default

    -Criar um applet para o gnome panel, ele passaria a gerenciar as ações de desligamento e reinicio do sistema, e você poderia executar qualquer coisa antes.

3) Não entendi, você deseja salvar o que o aluno fez? Ou voltar para um configuração padrão? De novo, reitero minha opinião, que se o backup é da configuração padrão, o melhor é que o script não fique fazendo cópias desnecessárias.

Algumas considerações e aplicativos passíveis de uso:

Considerações

-O usuário pode finalizar a maquina de forma incorreta;
-Salvar as alterações dos usuários, mesmo que somente em um arquivo oculto na maquina local, pode te poupar muita dor de cabeça;
-Não ficou claro para mim, como vai estar configurado o acesso, mas nunca é bom que a mesma maquina seja usada por diferentes pessoas usando o mesmo login e senha;

Programas

rsync - backup local e/ou remoto (ssh) com as possíveis flags: -a,-c, -q, -r, --delete e --exclude-from (talvez --link-dest);
cp - cópia, com as possíveis flags: -a e -l;
cron - para agendar tarefas;
Outros como mkdir, rm, mv e etc;