quarta-feira, 14 de julho de 2010

Diário de um TI: Permissões no File Server

Sexta-feira, 8 da manhã, véspera de fim de semana, você chega no trabalho já no modo Batman, acreditando que nada de ruim iria atrapalhar sua "morgagem", mas como existe a Lei de Murphy, você é recepcionado pelo Servidor de Arquivos com problemas no HD.

Após retornar à realidade, você analisa cuidadosamente o problema e descobre que o HD está com setores defeituosos e precisará ser substituído. Felizmente, você descobre que os setores defeituosos afetaram apenas os arquivos do sistema operacional e não os dados. Começa então o longo processo de cópia dos arquivos para o novo HD.

Terminada a cópia, você resolve navegar por entre as pastas e descobre uma pasta chamada "Usuarios" e lá dentro há uma pasta pessoal para cada usuário que loga na rede. Coisa pouca... 100 usuários. E como diz a Lei de Murphy: "Nada é tão ruim que não possa piorar", ao verificar a segurança das pastas, percebe que as permissões foram perdidas. Neste momento, se você tiver alguém subordinado, mande-o fazer o trabalho e vá para casa descansar.

Mas a empresa é pequena e você é o único técnico de TI e terá que refazer as 100 permissões de cada pasta. Aparentemente, seu fim de semana programado no clube irá por água abaixo. De repente, baixa o espírito Dr. House Informático em você e você se torna "o cara" da informática.

Você vai até o Controlador de Domínio, abre o Prompt de Comando e digita:

dsquery user ou=usuarios,dc=rede,dc=com ¦ dsget user -samid > usuarios.txt

Com isso você acaba de gerar um arquivo .txt com todos os logins de usuário da sua rede. Então você abre o Excel e começa a preparar o arquivo mágico:

1 - A primeira planilha é renomeada para "Script";
1.1 - Na célula A1 você digita "subinacl /subdirectories";
1.2 - Na célula B1 você digita "/grant=";
1.3 - Na célula C1 você digita "C";
1.4 - Na célula A2 você digita "d:\usuarios\";
1.5 - Na célula A3 você digita "REDE\";
2 - A segunda planilha é renomeada para "Users";
3 - A terceira planilha é renomeada para "Result".
3.1 - Aqui você entra com a fórmula mágica na célula A1 "=CONCATENAR(Script!A$1;" ";Script!A$2;ARRUMAR(Users!A1);" ";Script!B$1;Script!A$3;ARRUMAR(Users!A1);"=";Script!C$1)"

Com a base do arquivo pronta, você abre o arquivo usuarios.txt copiado do Controlador de Domínio, seleciona todos os usuários e cola na planilha Users. Ao acessar novamente a planilha Result, você tem a linda linha de comando:

subinacl /subdirectories d:\usuarios\fulano /grant=REDE\fulano=C

Você replica a fórmula para as outras 100 linhas correspondentes aos usuários, salva a planilha Result como sendo um arquivo de texto simples com o nome Permissoes.bat, baixa o utilitário SubInACL, instala o utilitário no Servidor de Arquivos, copia o arquivo Permissoes.bat para a pasta onde o SubInACL foi instalado, executa o arquivo .bat e contempla a maravilha da automação da tarefa.

Aos poucos, você já começa a sentir o cheiro do cloro da piscina, com a sensação de missão cumprida.