Migrando do OpenSuse para Debian
Tive que realizar uma pequena migração de OpenSuse para Debian, coisa fácil quando usado o rsync porem os usuario que foram migrados não queriam autenticar no Debian, fui pesquisar o motivo e descobrir que o OpenSuse usa o algoritmo Blowfish para fazer criptografia de senha e o Debian esta no MD5 por padrão. Como a migração do servidores era do Samba não podia simplesmente ignorar os grupos e usuários tive que utilizar o diff e pach para realizar esta migração. Vamos ao passo a passo do trabalho realizado.
1 - Vamos configurar o Debian para utilizar o Blowfish para autenticação no PAM
- apt-get install libpam-unix2
- Substituir "pam_unix.so" por "pam_unix2.so" nos seguintes arquivos:
- /etc/pam.d/common-auth
- /etc/pam.d/common-account
- /etc/pam.d/common-session
- /etc/pam.d/common-password
- Substituir "md5" por blowfish no arquivo:
- /etc/pam.d/common-password
Para a senha de root funcionar você tem que mudar a senha para funcionar perfeitamente com o novo algoritimo de cryp. Porem estava tendo mais um problema, como juntar os arquivos passwd e groups sem dar conflito de ID dos serviços principais do Debian, o jeito foi usar o path como foi falando acima. Fiz o seguinte codigo abaixo para fazer todo processo do path pois minha intenção e somente ativar o servidor de Backup quando o primario falhar, sim esta ativação tem que ser manual.
echo "Iniciando Samba de backup"
echo "Fazendo bkp dos arquivos importantes /etc/original202/"
mkdir -p /etc/original202/
cp /etc/passwd /etc/original202/
cp /etc/shadow /etc/original202/
cp /etc/group /etc/original202/
echo "Juntando arquivo de passwd para manter usuarios"
cd /tmp
cp /etc/passwd passwd.old
cp /etc/bkp/passwd passwd.new
diff -c passwd.old passwd.new > passwd.patch
patch < passwd.patch
cp passwd.old /etc/passwd
cp /etc/shadow shadow.old
cp /etc/bkp/shadow shadow.new
diff -c shadow.old shadow.new > shadow.patch
patch < shadow.patch
cp shadow.old /etc/shadow
cp /etc/group group.old
cp /etc/bkp/group group.new
diff -c group.old group.new > group.patch
patch < group.patch
cp group.old /etc/group