LINUX.ORG.RU

Почему меняется владелец файла sudo?

 ,


0

1

Xubuntu 20.04, запущенная из Termux с помощью proot (на Андроид смартфоне).

Если я сижу под root, то вижу, что права на sudo у root,а если перелогинюсь под пользователя semen (которму в файле sudoers я дал такие же права, как и root), то владельцем вдруг становится он, и поэтому не выполняются никакие команды с sudo:

root@localhost:~# ls -l /usr/bin | grep sudo
-rwx------. 1 root root  260432 Nov 11 13:35 cvtsudoers
-rwx------. 1 root root  157632 Nov 11 13:35 sudo
lrwxrwxrwx. 1 root root      18 Nov 11 13:35 sudoedit -> sudo
-rwx------. 1 root root   64264 Nov 11 13:35 sudoreplay

root@localhost:~# su semen

$ ls -l /usr/bin | grep sudo
-rwx------. 1 semen semen  260432 Nov 11 13:35 cvtsudoers
-rwx------. 1 semen semen  157632 Nov 11 13:35 sudo
lrwxrwxrwx. 1 semen semen      18 Nov 11 13:35 sudoedit -> sudo
-rwx------. 1 semen semen   64264 Nov 11 13:35 sudoreplay

$ sudo apt update
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set


Последнее исправление: SemenKrasiviy (всего исправлений: 5)

Ответ на: комментарий от t184256
GNU nano 6.3                                               start-ubuntu20.sh
#!/data/data/com.termux/files/usr/bin/bash
pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1
cd $(dirname $0)
## unset LD_PRELOAD in case termux-exec is installed
unset LD_PRELOAD
command="proot"
command+=" --kill-on-exit"
command+=" --link2symlink"
command+=" -0"
command+=" -r ubuntu20-fs"
if [ -n "$(ls -A ubuntu20-binds)" ]; then
    for f in ubuntu20-binds/* ;do
      . $f
    done
fi
command+=" -b /dev"
command+=" -b /proc"
command+=" -b /sys"
command+=" -b /data"
command+=" -b ubuntu20-fs/root:/dev/shm"
command+=" -b /proc/self/fd/2:/dev/stderr"
command+=" -b /proc/self/fd/1:/dev/stdout"
command+=" -b /proc/self/fd/0:/dev/stdin"
command+=" -b /dev/urandom:/dev/random"
command+=" -b /proc/self/fd:/dev/fd"
command+=" -b /data/data/com.termux/files/home/ubuntu20-fs/proc/fakethings/stat:/proc/stat"
command+=" -b /data/data/com.termux/files/home/ubuntu20-fs/proc/fakethings/vmstat:/proc/vmstat"
command+=" -b /data/data/com.termux/files/home/ubuntu20-fs/proc/fakethings/version:/proc/version"
## uncomment the following line to have access to the home directory of termux
#command+=" -b /data/data/com.termux/files/home:/root"
#command+=" -b /sdcard"
command+=" -w /root"
command+=" /usr/bin/env -i"
command+=" MOZ_FAKE_NO_SANDBOX=1"
command+=" HOME=/root"
command+=" PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/games:/usr/local/games"
command+=" TERM=$TERM"
#command+=" LANG=C.UTF-8"
command+=" LANG=en_US.UTF-8"
command+=" LANGUAGE=en_US.UTF-8"
command+=" LC_ALL=en_US.UTF-8"
command+=" /bin/bash --login"
com="$@"
if [ -z "$1" ];then
    exec $command
else
    $command -c "$com"
fi
SemenKrasiviy
() автор топика
Ответ на: комментарий от SemenKrasiviy

Ого, как много всего. Теперь убери все не относящиеся к сути дела опции и собери минимальный пример, в котором с нифига меняются права соседних файлов. Если proot у тебя на Android не просто обычный proot, а termux’овый патченный proot, то проверь еще и на обычном линуксовом компе и обычном proot.

t184256 ★★★★★
()