Ubuntu без setuid

Ядро Linux поддерживает setuid, разрешение setgid для исполняемых двоичных файлов.

Можно ли построить ядро ​​без этих возможностей?

Без них администраторы являются единственными пользователями, которые могут вмешаться в систему.

0
задан 15 June 2019 в 17:53

1 ответ

Вероятно, можно удалить эту функцию из ядра, а также можно монтировать файловые системы без suid, используя опцию nosuid. Это кажется мне проще, и я достигну того же самого.

Но это ломает много функций. Это список команд в /usr/ и `/ bin /, который установлен в Ubuntu 18.04:

$ find /usr /bin -perm -4000 
/usr/bin/pkexec
/usr/bin/gpasswd
/usr/bin/traceroute6.iputils
/usr/bin/newgrp
/usr/bin/arping
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/passwd
/usr/bin/sudo
/usr/lib/xorg/Xorg.wrap
/usr/lib/eject/dmcrypt-get-device
/usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
/usr/lib/s-nail/s-nail-privsep
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/sbin/pppd
/bin/ping
/bin/mount
/bin/umount
/bin/su
/bin/fusermount

Пользователи больше не смогут изменять свои собственные пароли. Они не смогут подключать USB-устройства. Они не смогут повысить привилегии. Они не смогут пропинговать удаление хостов. И, вероятно, более непредвиденные последствия.

Короче говоря, вы, вероятно, лаете не ту тройку, если ваша цель - защитить вашу систему. Лучшим подходом, вероятно, является рассмотрение AppArmomur или SELinux, который пытается обеспечить соблюдение прав пользователя более строго, чем стандартное ядро ​​Linux. Это обходится дорого: повышенная сложность.

Если вы сделаете это с ванильной системой Ubuntu, вы, вероятно, увидите все виды интересного поведения.

0
ответ дан 15 June 2019 в 17:53

Другие вопросы по тегам:

Похожие вопросы: