Как можно отключить доступ к CD-ROM и USB для обычных пользователей в Linux?
В рамках политики безопасности нам необходимо отключить доступ к CD-ROM и USB для обычных пользователей. Доступ должен быть только у пользователя root. Мы в основном используем Ubuntu Linux.
Нашел решение своей проблемы.
Отключение USB
# mv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko /root
Отключение CDROM
# mv /lib/modules/$(uname -r)/kernel/drivers/cdrom/cdrom.ko /root
http://www.cyberciti.biz/faq/linux-disable-modprobe-loading-of-usb-storage-driver/
http://blog.ask4itsolutions.com/2010/05/07/disable-block-cddvd-rom-linux-rhel/
Для простой защиты от непродвинутых пользователей достаточно внести модуль usb-storage в черный список:
modprobe -r usb-storage
echo blacklist usb-storage >> /etc/modprobe.d/blacklist
Для проверки:
modprobe usb-storage
if ! lsmod | grep -q usb-storage; then echo Module is blacklisted; fi
Для CD-ROM просто удалите пользователя из группы 'cdrom'. Тогда пользователь не сможет получить к нему доступ (в управлении пользователями есть вкладка Advanced, где можно снять галочку с такой опции).
Раньше в *nix-системах это можно было сделать, изменив разрешения на чтение и запись на узлах устройств. Я подозреваю, что в Ubuntu вам придется искать что-то более сложное - возможно, группы пользователей, предоставляющие доступ к классам устройств, отключение аппаратных служб, таких как hal, или, возможно, изменение системы automount, чтобы вещи монтировались только для привилегированных пользователей. USB будет сложнее, чем CDROM, потому что я предполагаю, что вы не хотите блокировать всю шину. Вы хотите, чтобы мыши usb работали, но флэш-диски были заблокированы, верно?