Algum de vocês já passou por este problema, logo após a (re)instalação de sua distro, reaproveitando uma pasta home antiga e na hora de usar os poderes de superusuário o su, kdesu ou mesmo gksu não funcionam alegando falha de login ou a seguinte mensagem com o sudo:
sudo: must be setuid root
Isto acontece porque há um problema de permissões erradas na sua pasta de usuário, ou mesmo na partição, caso você tenha usado um comando chmod recursivo (chmod -R permissões caminho) com as permissões erradas. Você consegue logar na sua sessão, mas não consegue usar o su, o sudo.... Mas você pode iniciar uma sessão como root. Muita gente tem tido problemas com isso, e as soluções que aparecem na web funcionam em algumas distros e em outras não, ou em casos
específicos, os quais não são objetivo desta dica. Bom, chega de conversa e vamos a resolução do problema.
Em primeiro lugar, o owner (dono) e o group (grupo) de sua pasta de usuário devem ser os mesmos, ou seja, seu grupo principal deve ser um grupo de nome igual ao seu login ou então deve possuir o mesmo número que seu uid (user id), que na maioria das distros é 500. Inicie uma sessão como root, pelo kdm ou gdm. Caso ao criar o seu usuário padrão não tenha sido criado um grupo com seu mesmo login e uid (você pode verificar no kuser por exemplo), crie o grupo com o comando:
# groupadd fulano
E então edite como root o arquivo /etc/passwd e deixe a linha que contém seu user assim:
fulano:x:500:500:Fulano da Silva:/home/fulano:/bin/bash
O primeiro "500" é seu uid e o segundo é seu gid (group id). Agora adicione seu usuário a este grupo com o comando:
# gpasswd -a fulano fulano
Depois disto, agora é só setar as permissões corretamente. Como root use o comando
# chown -R fulano:fulano /home/fulano
Este comando faz com que seu usuário e seu grupo principal tenham acesso à sua home. Você deve logo em seguida decidir como vai ser o acesso a sua home tanto pelo seu grupo, como para outros. Use como usuário normal
$ chmod -R 755 /home/fulano
para que você tenha todas as permissões e apenas leitura e execução para seu grupo e outros. Para isso, estando você logado em uma sessão como root, dê o comando # su fulano, e você estará logado como usuário normal para fazer este passo. Depois dê um exit e você será root novamente.
Agora vem a parte que todo mundo acha no Google, mas que sozinha não resolve o problema:
# chmod 4111 /usr/bin/sudo
Este último comando faz com que o sudo seja executado com setuid root. Após terminar, faça o login como usuário normal e veja que o sudo, su, kdesu ou gksu estarão funcionando normalmente e que você não verá mais a mensagem: "sudo: must be setuid root"
[2] Comentário enviado por chimico em 07/01/2011 - 16:33h
Olá p@1980, desculpe a demora, vamos as suas dúvidas:
Primeiro, nunca, em hipótese alguma mude as permissões das pastas do sistema como /bin, /usr/bin, /usr/local/bin,/sbin,/usr/local/sbin, /usr/sbin,/etc,/dev,/tmp,/var. O bom funcionamento do sistema depende das permissões corretas(originais) destas pastas.
Com o seu comando voce alterou recursivamente, ou seja, subpasta por subpasta, arquivo por arquivo, tudo que estava dentro de /usr.
O comando "chown -R" só deve ser usado na sua pasta de usuário, no caso do artigo. Para setar as permissões originais será
muito trabalhoso, é mais fácil reinstalar o sistema.
Da próxima vez que for copiar um arquivo para uma das pastas do sistema use:
sudo cp -fv arquivo /pasta
ou no caso de uma pasta use:
sudo cp -rfv suapasta /pasta
Para editar como root o arquivo /etc/passwd use:
sudo gedit /etc/passwd
(você usa Ubuntu e provavelmente o Gnome)
ou sudo kedit /etc/passwd
(caso use o KDE)
ou sudo mousepad /etc/passwd
(caso use o xfce)
Você é iniciante e gostaria de ensinar muitas coisas, mas recomendo que leia o Guia FocaLinux(eu lí a oito anos atrás qdo comecei)