Я бы хотел, чтобы мой пользователь root не запускал определенные приложения, которые могут изменять права доступа к файлам, что, в свою очередь, не позволяет обычным пользователям снова запускать эти приложения.
например, если я sudo для root, а затем запускаю thunderbird из командной строки, это меняет права доступа к файлам в моем домашнем каталоге / профиле, поэтому я больше не могу запускать его как обычный пользователь; то, что я хотел бы сделать, это запретить root запускать thunderbird и, следовательно, предотвратить повторение этой пользовательской ошибки.
какие-либо предложения?
, чтобы уточнить,
, если у меня много администрирования, я использую «sudo -s», который дает мне корневую оболочку, ее раз в год или Итак, я стреляю себе в ногу.
У меня есть привычка открывать дополнительный сеанс для корневого доступа с sudo su -
и с заметным приглашением. Это мешает мне делать глупости с sudo.
Я полагаю, так как это случай, когда пользователь с костяными головами стреляет себе в ногу, нет простого способа сделать это. с большой силой приходит отличная способность к ответу, и, вероятно, было бы лучше, если бы вы научились не использовать sudo -s так часто.
Тем не менее, я собираюсь обернуть bash-скрипт вокруг thunderbird, который проверяет имя пользователя с помощью whoami или $ SUDO_USER и затем прерывает работу, если это администратор. это не общее решение, но оно поможет в этом единичном случае.
Если у вас установлено thunderbird
локально, где-то в вашем домашнем каталоге, вы можете изменить разрешения на 500
, чтобы только вы могли выполнять эту программу.
Запустите это на исполняемом файле
chmod 500 thunderbird
Также, как сказал TrailRider, не запускайте программы с префиксом sudo
, это может быть потенциально опасно . Вы можете исправить разрешения, изменив владельца каталога thunderbird
на свое имя пользователя.
Откройте исходный код программы, найдите main()
, добавьте, что строки
if (geteuid() == 0) {
fprintf(stderr, "Access by root is disabled.\n");
exit(255);
}
перекомпилировали и устанавливают.