Я не хочу, чтобы мои пользователи видели информацию ip's/login каждого другого, поэтому я хочу изменить вывод, когда они используют команды 'who' и 'w', чтобы скрыть эту информацию - есть ли способ сделать это?
4 ответа
Не глобально, нет. Однако вы можете ограничить доступ к /usr/bin/w
и поместить альтернативный файл как /usr/local/bin/w
. Это может быть простой скрипт, который вызывает оригинальный инструмент с параметрами и аргументами фильтра, а также оператор setuid
.
Вещи как:
w -hus | tr -s ' ' | cut -d' ' -f5-
и т.п.
Информация используется w
и who
хранится в /var/run/utmp
или /run/utmp
(иногда / и /etc/utmp
в старых системах). Вы должны ограничить доступ для чтения к этому файлу.
(Не беспокойтесь об удалении команд; если вы оставите utmp
читабельным, любой может получить адреса с помощью двухминутного сценария.)
Однако это не скроет логин других пользователей. Для этого вы должны запретить обычным пользователям видеть все процессы - что можно сделать только с такими исправлениями ядра, как grsec. (Если вы собираетесь предоставить доступ случайным, ненадежным людям, grsec может быть хорошей идеей.)
Во-вторых, если вы хотите сохранить конфиденциальность, вы должны запретить пользователям перечислять все системные учетные записи; это не может быть сделано с традиционным Unix /etc/passwd
, так как ограничение доступа для чтения может сломать многие вещи. Вместо этого вам потребуется отдельный каталог пользователя, такой как sssd , LDAP, возможно, некоторая база данных SQL.
По умолчанию поле FROM
в w отображается только для root, а не для «обычных» пользователей. Предполагая, что ваши пользователи находятся в обычных учетных записях, они не должны видеть детали, которые вы видите.
Если ваша скомпилированная версия делает это, используйте ключ -f для подавления информации:
w -f
Вы можете добавить это как псевдоним для w в профилях пользователей (~/.bash_profile):
alias w='w -f'
Вы можете подумать о том, чтобы предоставить своим пользователям ограниченную оболочку и настроить для них специальный bin-каталог, в который вы добавили специальные версии "w" и "who". См. Раздел руководства по bash. ОГРАНИЧЕННАЯ ОБОЛОЧКА.