Erro enquanto SUDOing

4

Estou enfrentando um problema. Quando tento fazer sudo no meu terminal, obtenho:

sudo: must be setuid root

Eu pesquisei o problema e fiz as sugestões, como definir a permissão do sudo, mas eles já estavam no estado requerido. Não consigo descobrir qual pode ser o problema. Por favor ajude.

Obrigado

Saída de mount :

 /dev/sda8 on / type ext4 (rw,errors=remount-ro) 
 proc on /proc type proc (rw,noexec,nosuid,nodev) 
 sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) 
 none on /sys/fs/fuse/connections type fusectl (rw) 
 none on /sys/kernel/debug type debugfs (rw)
 none on /sys/kernel/security type securityfs (rw) 
 udev on /dev type devtmpfs (rw,mode=0755)
 devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
 tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
 none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
 none on /run/shm type tmpfs (rw,nosuid,nodev)
 /dev/sda6 on /home type ext4 (rw)
 /dev/sda7 on /var type ext4 (rw)
 /home/incaendo/.Private on /home/incaendo type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=b746275454680798,ecryptfs_fnek_sig=2164f6a8d7aa74c7)
 gvfs-fuse-daemon on /home/incaendo/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=incaendo)
    
por Sankalp Mishra 06.03.2013 / 06:40

3 respostas

0

Depois de tentar todas as sugestões que me foram dadas, A única maneira era Reinstalar o Ubuntu e é isso que tenho que fazer Finalmente.

    
por Sankalp Mishra 08.03.2013 / 14:12
5

Reinstalando o pacote sudo usando

pkexec apt-get --reinstall install sudo

irá definir o sinalizador setuid do sudo. Se isso falhar, tente reinstalá-lo usando o gerenciador de pacotes gráfico ou aptitude . Se isso falhar, ajuste manualmente o bit setuid do sudo:

pkexec chmod u+s /usr/bin/sudo

Se isso falhar também com o erro "pkexec: deve ser root setuid" , verifique se o sistema de arquivos que contém /usr/bin não foi montado acidentalmente com o conjunto de opções nosuid . Examine a saída de mount .

Se este não for o caso, então verifique se qualquer binário em /usr/bin tem seu setuid bit set, usando:

find /usr/bin -perm 4755

Isso deve listar pelo menos passwd , sudo e os gostos. Se não há nenhum, então certamente um raio cósmico perdido chutou esses bits setuid (ou talvez este fosse você, afinal, com um excesso de zelo chmod -s * porque há rumores de que setuid é ruim?)

De qualquer forma, primeiro você terá que restabelecer seus direitos de sudo. Eu descrevi a maneira de fazer isso em uma resposta separada a essa pergunta. Uma vez que você os tenha, reinstale todos os pacotes contendo um binário setuid ou chmod each binary manualmente, como mostrado no topo desta resposta.

Infelizmente, como a resposta a outra pergunta indica, não existe uma maneira fácil de descobrir quais binários no Ubuntu estão instalados setuid root.

Aqui está, para referência, a lista em uma quase intocada 12.04. Nomes de pacotes à esquerda, binários à direita do cólon:

$ find {/usr,}/bin -perm 4755 | xargs dpkg -S
passwd: /usr/bin/chsh
iputils-tracepath: /usr/bin/traceroute6.iputils
mtr-tiny: /usr/bin/mtr
passwd: /usr/bin/gpasswd
sudo: /usr/bin/sudoedit
login: /usr/bin/newgrp
passwd: /usr/bin/chfn
sudo: /usr/bin/sudo
passwd: /usr/bin/passwd
login: /bin/su
iputils-ping: /bin/ping
mount: /bin/umount
mount: /bin/mount
fuse: /bin/fusermount
iputils-ping: /bin/ping6
    
por zwets 06.03.2013 / 08:37
0

O problema que o OP tem é que todos os binários-raiz do setuid em /usr/bin de alguma forma perderam seu bit setuid. Isso causa o problema de inicialização da configuração do bit setuid novamente em /usr/bin/sudo sem poder usar sudo . Aqui está como fazer exatamente isso:

  1. Reinicie e no menu do Grub, selecione a opção "modo de recuperação".

  2. Quando o menu de recuperação aparecer, selecione "root" para soltar em um shell de root.

  3. Remontar o sistema de arquivos raiz para ser gravável:

    # mount -o remount,rw /
    
  4. Defina o bit setuid em sudo e pkexec:

    # chmod u+s /usr/bin/sudo /usr/bin/pkexec
    

Saia do modo de recuperação e continue a inicialização regular.

    
por zwets 06.03.2013 / 14:02

Tags