1.Opis problemu
Po wykonaniu komendy sudo otrzymujemy następujący komunikat:
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Prawdopodobna przyczyna – zmiana uprawnnień dla katalogu /usr
sudo chmod -R 777 /usr/" lub "chown -R user.user /usr/
właścicielem ścieżki /usr/bin/sudo powinien być user root i jakakolwiek zmiana prowadzi do powstania takiego błędu.
2. Rozwiązanie
Uruchamiamy serwer w trybie recovery/singlemode user (podczas bootowania klikamy e i w linijce zaczynającej się od linux na końcu dopisujemy init=/bin/bash ##działa na Debian Jessie 8.5 )
następnie wykonujemy następujące polecenia:
mount -o remount,rw / mount --all chown root:root /usr/bin/sudo chmod 4755 /usr/bin/sudo chown root:root /usr/lib/sudo/sudoers.so chmod 4755 /usr/lib/sudo/sudoers.so
tyle w teorii (powyższe komendy zadziałały na normalnym systemie niekorzystającym z LVM), w przypadku problemu na serwerze z LVM napotkałem się z problemem braku zamontowania niektórych partycji przy uruchomieniu Singlemode user w moim przypadku /home /usr /var dwie kolejne zamontowały się bez problemu. Niestety brak zamontowania partycji /usr powodował zwracanie komend not found przy próbach wykonania komend. Aby poradzić sobie z tym problemem należy wykonać kroki:
vgscan --mknodes -v ##skanowanie pod kątem volume group => pokazuje listę oraz jej rozmiar
lvscan ##skanowanie pod kątem poszczególnych partycji
Przykładowy output:
ACTIVE '/dev/VCRYPT/VROOT' [321,30 GiB] inherit ACTIVE '/dev/VCRYPT/VSWAP' [8,20 GiB] inherit inactive '/dev/vol/root' [457,95 GiB] inherit inactive '/dev/vol/swap_1' [7,56 GiB] inherit
W moim przypadku partycje były /usr /home /var były w stanie inactive
vgchange -ay vg00 ##aktywujemy wszystkie partycje z danej grupy
Montujemy partycję pod dany katalog (aby zobaczyć pełną ścieżkę do partycji możemy skorzystać z fdisk -l)
mount /dev/dm-2 /usr
w trybie singlemode zauważyłem, że nazwy bloków były zamienione czyli z systemu zczytałem że partycja /dev/dm-2 jest pod /usr natomiast w przypadku single user partycja była przypisana pod /dev/dm-4
Po wykonaniu wszystkich kroków, hasło/uprawnienia sudo zostały zmienione i bez problemu można uruchomić serwer na nowo.