Можно ли запретить пользователю открывать / сохранять диалоги файлов в Ubuntu 12.04 LTS?

Я использую в своей компании приложение для киоска, которое использует 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.

Если нет возможности, есть ли какие-либо предложения скрыть файловую систему и сопоставленную сетевую папку в диалоге файлов? Пожалуйста, помогите каждое предложение будет оценено. Заранее спасибо.

1
задан 20 April 2014 в 02:49

1 ответ

Самый простой способ сделать это должно использовать полномочия. Полномочия для файлов и каталоги на 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 или любое из многих учебных руководств, которые можно найти онлайн, этот , например.

0
ответ дан 20 April 2014 в 02:49

Другие вопросы по тегам:

Похожие вопросы: