O teste falha, pois a permissão em /root
é 700
. Por isso, usa o sudo para destruir o arquivo em cada login.
Com o 11.10, quando qualquer um dos meus usuários com o login do bash shell for bem-sucedido, será solicitado que eles forneçam sua senha sudo, por exemplo
Last login: Fri Jan 20 19:13:36 2012 from x.x.x.x
[sudo] password for *user*:
No entanto, usando um shell diferente (zsh) eles não são solicitados pela sua senha sudo.
O que aconteceu?
[editar: mais informações]
Então, é claro que era óbvio, mas ainda é estranho.
/etc/bash.bashrc
#!/bin/sh -e
#execute firstlogin.sh only once
if [ ! -e /root/firstlogin_done ]; then
if [ -e /root/firstlogin.sh ]; then
/root/firstlogin.sh
fi
# This part should not be necessary any more
# sudo dpkg-reconfigure -p critical console-setup &> /dev/null
sudo touch /root/firstlogin_done
fi
O arquivo é criado muito bem, por exemplo,
$sudo ls -al /root/firstlogin_done
-rw-r--r-- 1 root root 0 2012-02-29 16:04 /root/firstlogin_done
[editar: é um bug]
Então, eu entendo porque isso acontece. Mas eu não entendo por que isso está acontecendo. Isso é um bug que eu não atualizei?
O teste falha, pois a permissão em /root
é 700
. Por isso, usa o sudo para destruir o arquivo em cada login.
Ok, transformando comentário em resposta.
Isso parece estar relacionado ao bug link . Eu não consigo entender por que alguém pensaria que era uma boa idéia usar o sudo em /etc/bash.bashrc. Sem mencionar que o hashbang está completamente errado para um script bash.
No entanto, o /etc/bash.bashrc não é realmente necessário. Vanilla bash nem sequer lê /etc/bash.bashrc; é principalmente uma coisa Debian / Ubuntu ter o bash corrigido para procurar especificamente, e fonte, /etc/bash.bashrc ao iniciar o bash interativamente.
De qualquer forma, se você quiser o /etc/bash.bashrc que uma nova instalação terá, pegue as fontes e copie o arquivo etc.bash.bashrc para /etc/bash.bashrc
sudo apt-get install dpkg-dev
apt-get source bash
sudo cp bash-4.2/debian/etc.bash.bashrc /etc/bash.bashrc