Рейтинг:0

Лучшее место для исполняемого файла pam_exec.so?

флаг cn

Я реализовал подключаемый модуль аутентификации (PAM) под названием проверитьСоединения.

Я изначально поместил этот исполняемый файл в /usr/местные/sbin/ потому что стандарт иерархии файловой системы говорит, что локально установленные системные инструменты находятся в этом месте. Таким образом, исполняемый файл используется так

требуется сеанс pam_exec.so stdout /usr/local/sbin/checkConnections 10

Это работает нормально, но обычные пользователи могут видеть этот исполняемый файл через завершение табуляции, потому что /etc/environment добавляет /usr/местные/sbin к ДОРОЖКА.

Моя цель состоит в том, чтобы мои инструменты системного администрирования не загрязняли взгляды обычных пользователей. Они по умолчанию не должны видеть мои средства системного администрирования.

Я думал удалить папки sbin из /etc/environment, но https://askubuntu.com/a/866169/703866 рекомендует против этого.

По крайней мере, вы не должны удалять какие-либо важные пути, такие как /bin, /sbin, /usr/bin и /usr/sbin оттуда.

Если я помещу checkConnections в другое место, я не знаю, какое место лучше или стандартнее.

Пожалуйста, порекомендуйте.

muru avatar
флаг us
Я понимаю, что вы пытаетесь сделать, я просто не понимаю *почему*. Ваши пользователи на самом деле жаловались на то, что ваши инструменты системного администратора отображаются при завершении табуляции? Если нет, то почему вы решаете проблему, которой не существует? Или вы беспокоитесь, что они действительно будут запускать эти программы? Если да, то почему разрешения не исправлены? (Обычно завершение табуляции не показывает команды, которые пользователь все равно не может выполнить)
флаг cn
@muru Я хочу учиться и следовать стандартам. Если бы я этого не делал, я бы не знал стандарта иерархии файловой системы. Если бы меня не заботила инкапсуляция, я бы пометил все свои классы как «публичные».
muru avatar
флаг us
У вас есть стандарты. FHS совершенно нормально хранит эти скрипты в `/usr/local/bin`. А в некоторых языках все так или иначе является «общедоступным», и инкапсуляция является вопросом соглашений. Теперь вы не можете применить к ним свои `public`/`private`/что-то еще, не так ли?
флаг hr
Если вы полны решимости сделать это, то ближайшим кандидатом, вероятно, является подкаталог pam в [/usr(/local)/lib/](https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s06.html) (*"он может также включать внутренние двоичные файлы, которые не предназначены для непосредственного выполнения пользователями или сценариями оболочки"*)
флаг hr
... есть также [/usr(/local)/libexec/](https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html) (*"внутренние двоичные файлы, которые не предназначены для непосредственного выполнения пользователями или сценариями оболочки"*). AFAIK, это больше похоже на RH. См. также [Какова цель /usr/libexec?](https://unix.stackexchange.com/questions/312146/what-is-the-purpose-of-usr-libexec).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.