Я использую в своей компании приложение для киоска, которое использует Firefox в качестве интерфейса пользователя. Все, что нужно сделать пользователям, это просто остаться на Firefox, чтобы выполнять свою работу. Однако, когда они щелкают в меню «Файл» Firefox и нажимают кнопку «Открыть или сохранить страницу как», открывается диалоговое окно файла, чтобы они могли исследовать файловую систему, включая файлы моего внутреннего приложения и подключенный сетевой диск, который я серьезно хочу скрыть по соображениям безопасности. Я нашел способы скрыть их в nautilus, используя файл .hidden, но он не работает в диалоге file / save.
Поскольку я очень новичок в Linux, я создал для них учетные записи как стандартные пользователи, и я думаю, что все пользователи имеют доступ на чтение к файловой системе по умолчанию (и им это нужно для правильной работы операционной системы и приложения?) Тогда я не могу получить разрешение на чтение у них? Пожалуйста, поправьте меня, если я ошибаюсь.
Так я могу просто запретить пользователям открывать диалоги файлов? Теперь я могу подумать, что есть ли какая-нибудь файловая система или файл библиотеки, которые обрабатывают эти файлы / диалог сохранения? так что я могу отредактировать их разрешение, и вместо этого пользователи получат диалог отказа в разрешении.
Например, в случае ниже
http://ubuntuforums.org/showthread.php?t=1363852
они удаляют файл : /usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-file.so для отключения функции «печать в файл».
И еще один случай
https://answers.launchpad.net/ubuntu/+source/nautilus/+question/186540
они редактируют разрешение папка: / usr / lib / gvfs / gvfsd-smb-browse, чтобы пользователи не могли нажимать кнопку «Обзор сети» в Nautilus.
Если нет возможности, есть ли какие-либо предложения скрыть файловую систему и сопоставленную сетевую папку в диалоге файлов? Пожалуйста, помогите каждое предложение будет оценено. Заранее спасибо.
Самый простой способ сделать это должно использовать полномочия. Полномочия для файлов и каталоги на Linux и аналогичных системах имеют 3 базовых уровня, полномочия владельца файла, их группы и всех остальных.
, Например, в моей системе, я создаю нового пользователя, позвонившего foo
:
sudo adduser foo
Этот недавно созданный пользователь принадлежит группе foo
только (sudo -u foo
, позволяет мне команды выполнения как пользователь foo
, в этом случае, groups
, который перечисляет группы, что пользователь принадлежит):
$ sudo -u foo groups
foo
Так, давайте создадим файл:
sudo -u foo touch /tmp/file
И взглянули на его полномочия:
$ ls -l /tmp/file
-rw-r--r-- 1 foo foo 0 Apr 2 17:49 /tmp/file
--------- --- --- =================================> The file's group
| | | |=======================================> The file's owner
| | ------> Others (everyone else): read only
| |--------> Group permissions: read only
|-----------> Owner permissions: read/write
Так, как Вы видите в примере выше, файл имеет 3 уровня полномочий. Так как это было создано как пользователь foo
, мой обычный пользователь terdon
не может записать в него:
$ echo "hello" > /tmp/file
bash: /tmp/file: Permission denied
для списка содержания каталога, в котором пользователь нуждается , читает полномочия и для перемещения в него, им нужно , выполняются разрешение. Поэтому для сокрытия содержания каталога просто удалите чтение и выполните права. Взятие /media
как пример:
$ ls -dl /media
drwxr-xr-x 9 root root 4096 Mar 25 20:15 /media
, Как Вы видите выше, владелец, группа, и все остальные весь имеют, выполняют права на каталог (это что x
средства). То, что мы хотим сделать, делают его так, чтобы только у владельца и элементов группы был доступ к нему, таким образом, мы должны будем удалить чтение и выполнить права от "другого" поля:
$ sudo chmod o-rx /media
$ ls -dl /media
drwxr-x--- 9 root root 4096 Mar 25 20:15 /media
, Как Вы видите выше, /media
теперь, имеет, не выполняются прямо в поле "других", что означает, что только члены группы root
и пользователь root
сами могут получить доступ к нему.
то, Что все это означает, то, что можно создать пользователей и точно настроить их для имения доступа только к определенным файлам. Однако быть очень осторожным с полномочиями , изменение полномочий системных папок очень опасно и не должно быть сделано. Вместо этого если у Вас есть определенные каталоги, Вы хотите скрыть, просто изменить их полномочия и оставить системные каталоги в покое. Так, в Вашем случае, если у Вас есть файлы бэкенда в / бэкенде an d your mapped network drive somewhere in
/ медиа', просто выполняет эту команду для блокирования доступа для чтения к этим каталогам:
sudo chmod o-rx /media /foo/
Для большего количества информации о том, как полномочия могут быть установлены, см. man chmod
или любое из многих учебных руководств, которые можно найти онлайн, этот , например.