Ol�!
> Seguinte: quero substituir um arquivo no home de todos os
> usu�rios. Uso NIS, com Conectiva 8.
Vamos l�...
> Quero fazer por exemplo um cp /teste/arq1
> /home/usuario1/arq1. S� que tenho em torno de 400 usu�rios.
> Todos os meus usu�rios s�o identificados pela palavra eceg e
> mais um n�mero de matr�cula. Ex.: eceg1644
Basta pegar a lista de usu�rios. N�o precisa atrelar �
matr�cula. Por exemplo: "ls /home" vai te mostrar uma lista de todos os
usu�rios, mesmo sem n�mero de matr�cula.
> Poderia fazer um la�o de 1 a 2000 (a matr�cula ainda n�o
> passa de 2000), testar se o arquivo existe, e se existir
> substitu�-lo sem perguntar. A id�ia � essa, mas como fazer???
Segue o script:
--------------------- 8< --------------------- 8<
#!/bin/sh
# Autor: Sthenley Macedo <[EMAIL PROTECTED]>
# Primeira vers�o: 8.Mar.2003
lista=`ls -1 /home`
path_arquivo_gabarito=/root/
arquivo=.bashrc
for usuario in $lista
do
arquivo_alvo=/home/$usuario/$arquivo
echo $arquivo_alvo
if [ -f $arquivo_alvo ] ; then
echo "*** Atualizando arquivo $arquivo_alvo"
cp -f $path_arquivo_gabarito/$arquivo $arquivo_alvo
fi
echo "*** Conclu�do"
echo "***"
done
--------------------- 8< --------------------- 8<
N�o esque�a do chmod +x no script e observar o caminho para o
arquivo gabarito. Voc� pode tamb�m montar uma lista para exce��es, se
houverem. Dica: se quiser que cada novo usu�rio j� seja adicionado com o
tal arquivo no seu home, adicione uma linha com o cp no seu script
adduser, ou crie um script chamando o adduser e fazendo o cp logo em
seguida. Tamb�m � poss�vel criar uma rotina para verificar altera��es no
arquivo gabarito para atualiza��es autom�ticas, via cron.
Virtualmente,
--
_______________________________________________
S t h e n l e y M a c e d o - CREA 2080TDPB
Assinantes em 08/03/2003: 2235
Mensagens recebidas desde 07/01/1999: 203464
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
mailto:[EMAIL PROTECTED]