Как Fstab выполняет noexec параметр влияет на акции samba

Я установил несколько дисков данных и использовал параметр noexec . Думаю, что, поскольку это только данные, мне не нужен exec . Теперь у меня есть некоторые проблемы с разрешением, и я хотел бы это исключить как причину, а также лучше понять вариант.

Имеет ли параметр exec в /etc/fstab тот же эффект, что и разрешение на выполнение для всех каталогов и файлов в смонтированной системе?

Как это влияет на исполняемые файлы Windows ( .exe ), доступные через общие ресурсы samba или другие сетевые протоколы?

Монтированные диски будут объединены с aufs или mhddfs и доступны через центральную точку монтирования в /mnt/virtual . Затем он будет доступен через сеть (самба прямо сейчас). Также будет некоторый локальный доступ ( xbmc ). Я не уверен, должен ли я предоставить ему прямую ссылку или ссылку samba на файлы?

Какова наилучшая практика в этом случае?

  • mount + как определить, установлена ​​ли локальная папка как только для чтения
  • USB-накопители Automount без требования GUI (замена halevt)
  • загрузочный раздел remount как readonly
  • Как установить две папки с общим доступом в linux?
  • Флэш-накопитель в OpenBSD: «указанное устройство не соответствует установленному устройству»
  • Точка монтирования для конкретного USB-порта
  • Поиск / установка USB-устройства в Mac OS X 10.8
  • fstab монтируйте диск как мой / домашний
  • One Solution collect form web for “Как Fstab выполняет noexec параметр влияет на акции samba”

    Просмотр страниц руководства

    Если вы посмотрите на страницу man для mount.cifs которая будет использоваться для монтирования любых акций, перечисленных в /etc/fstab есть примечание, в котором упоминается noexec .

    excerpt – mount.cifs man page

    Эта команда может использоваться только root, если не установлена ​​setuid, и в этом случае флаги noeexec и nosuid mount включены. При установке в качестве программы setuid программа следует за соглашениями, изложенными в программе монтирования для пользовательских монтировок, с добавленным ограничением, которое пользователи должны иметь в chdir () в точке монтирования до монтирования, чтобы иметь возможность монтироваться на Это.

    Некоторые клиентские инструменты samba, такие как smbclient (8), поддерживают параметры конфигурации на стороне клиента, представленные в smb.conf. В отличие от этих клиентских инструментов, mount.cifs полностью игнорирует smb.conf.

    Учитывая это, я ожидаю, что он соблюдает параметр exec / noexec, если он включен в любые попытки монтирования. Кроме того, посмотрите на использование mount.cifs как этот параметр будет использоваться.

    excerpt – использование mount.cifs

     Less commonly used options: credentials=<filename>,guest,perm,noperm,setuids,nosetuids,rw,ro, sep=<char>,iocharset=<codepage>,suid,nosuid,exec,noexec,serverino, mapchars,nomapchars,nolock,servernetbiosname=<SRV_RFC1001NAME> directio,nounix,cifsacl,sec=<authentication mechanism>,sign,fsc 

    Глядя на man-страницу fstab объясняется предполагаемая цель для exec / noexec, но не указывается, будет ли она для всех исполняемых файлов или только для Unix.

    выдержка из man-страницы fstab

    exec / noexec

    exec позволяет выполнять двоичные файлы, которые находятся на этом разделе, тогда как noexec не позволяет вам это делать. noexec может быть полезен для раздела, который не содержит двоичных файлов, таких как / var, или содержит двоичные файлы, которые вы не хотите выполнять в вашей системе, или которые даже не могут выполняться в вашей системе, как это может быть в случае раздела Windows.

    Выполняет ли exec / noexec все исполняемые файлы?

    Нет атрибута exec / noexec просто заставляет разрешать вещи, которые помечены как исполняемые через их биты разрешений, это не влияет на разрешения напрямую.

    Как насчет двойных окон?

    Тем не менее, установка exec / noexec не контролирует исполняемые файлы Windows, а только исполняемые файлы Unix, которые также могут находиться на этих ресурсах.

    Кроме того, я даже не знаю, как это произойдет, если вы создаете общий ресурс CIFS / Samba через /etc/fstab , когда ОС Windows даже войдет в микс в этом сценарии. Windows могла бы / сама смонтировать этот общий ресурс напрямую и даже не беспокоиться о переходе через Linux.

    Тестирование

    Пример из Unix

    Вы можете протестировать это с помощью mount.cifs напрямую через командную строку. Предположим, что у нас есть файл на базе CIFS / Samba:

     $ cat cmd.bash #!/bin/bash echo "hi" $ chmod +x cmd.bash 

    Теперь мы монтируем его так, и попытаемся запустить скрипт, cmd.bash :

     $ mount.cifs //server/cifsshare /path/to/cifsmnt -o user=joeuser,noexec $ cd /path/to/cifsmnt $ ./cmd.bash bash: ./cmd.bash: Permission denied 

    Если мы опустим этот параметр, noexec :

     $ mount.cifs //server/cifsshare /path/to/cifsmnt -o user=joeuser $ cd /path/to/cifsmnt $ ./cmd.bash hi 

    Из Windows

    Единственный сценарий, который я мог бы представить здесь, был бы, если бы я использовал что-то вроде Virtualbox, и я установил общий ресурс CIFS / Samba внутри каталога, который тогда могла использовать Windows VM.

    Когда я проверил это, я смог успешно запускать файлы .exe через эту установку.

    ПРИМЕЧАНИЕ. Я использовал механизм обмена \\vboxsrv в Virtualbox для монтирования моего домашнего каталога, локального в моей системе, /home/saml . Затем я выполнил эту команду, установив общий ресурс CIFS / Samba как каталог внутри /home/saml .

     $ mkdir /home/saml/cifsmnt $ mount //server/cifsshare cifsmount -o user=joeuser,noexec 

    Выводы

    Выполнение вышеизложенного показало бы, что exec / noexec не запрещает доступ Windows к файлам.

    Linux и Unix - лучшая ОС в мире.