Ubuntu без setuid

Ubuntu без setuid

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

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

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

решение1

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

Но это ломаетмногофункций. Это список команд в /usr/и `/bin/, которые имеют setuid в 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, вы, вероятно, увидите всевозможныеинтересныйповедение.

Связанный контент