Можно ли в Linux запретить выполнение команд обычным пользователям?
Можно ли в Linux запретить выполнение команд обычным пользователям?
Обычный пользователь может выполнять команды: cp, rm и другие подобные.
Возможно их как-то запретить?
Владимир Муковоз,
Запущена игра (java)!
Устанавливают плагин в нёё и прямо из игры крадут пароли например: cp -r /etc/pure-ftpd/ ./home/igra
Я конечно права на каталоги выставил, но сам факт использования команд прямо из игры меня удручает просто.
Александр Назаров, пароли хранятся в БД, доступ к БД осуществляется по логину и паролю который хранится /etc/pure-ftpd/db/mysql.conf. Копирнуть пароли не возможно без этих данных. Теперь смотри что происходит когда я обычным юзером копирую эту папку.
Александр Назаров, если у тебя как-то по другому, то рекомендую оторвать руки тому кто тебе настраивал. То что мутишь ты называется костыли. При нормальной настройке никто и ничего так просто не уведёт.
Владимир Муковоз, У пользователя нет прямого доступа к серверу, никакого вообще, ни прямого ни по ssh.
Доступ есть только к своему домашнему каталогу в который он может подключаться через FTP клиент с логином и паролем от pure-ftp-mysql. В ftp лежит ядро игры.
А также на сайте есть кнопка запуска этой игры.
Загружая в свой каталог игру, он загружает к ней плагин и уже находясь в самой игре может запускать из своего домашнего каталога что угодно. Он в игровом чате вводит любые команды, как если бы он их вводил в терминале, если бы у него был доступ.
Права на каталоги я выставил, увести /mysql.conf и другие файлы он не может, но вот как быть с его возможностью запускать любые программы.
Например он может беспрепятственно прописать: java -jar primer.jar
Как отрубить ему команды?
Через ftp пользователь загружает плагин в игру, заходит на сайт, стартует игру, заходит в игру, открывает игровой чат, в него вводит команду, например: touch file.txt в каталоге его домашнем создастся файлик или же может загрузить через фтп что угодно и запустить это из игры, игра из чата отправляет команду в linux.
Александр Назаров, chroot или докер. И не надо будет закрывать доступ на эти операции, просто всё будет крутиться как бы в отдельном контейнере который нифига не влияет на основную систему.
Eldar01, Да, запущена игра (java)!
Устанавливают плагин в нёё и прямо из игры крадут пароли например: cp -r /etc/pure-ftpd/ ./home/igra
Я конечно права на каталоги выставил, но сам факт использования команд прямо из игры меня удручает просто.
А какую проблему вы таким образом пытаетесь решить?
Самый надежный способ - загнать пользователя в chroot, и ограничить ему лимиты. Но и здесь придется сильно постараться, так как есть например перенаправление потоков.
запущена игра (java)!
Устанавливают плагин в нёё и прямо из игры крадут пароли например: cp -r /etc/pure-ftpd/ ./home/igra
Я конечно права на каталоги выставил, но сам факт использования команд прямо из игры меня удручает просто.
А зачем ограничивать? Если все равно есть сброс пароля root, при физическом доступе к клавиатуре. Справится даже ребенок. Я бы не стал что-то запрещать даже из этических соображений. Если же по делу — может посмотреть в сторону AppArmor/SELinux ?