Не запускаются исполняемые файлы из сети. Ubuntu

Tow

Раз вы тут, значит у вас возникла проблема с запуском исполняемых файлов по сети, расположенных на сервере Ubuntu.

После настройки и запуска файлового сервера Samba на вашем сервере, а также открытие общего доступа к определенным директориям на нем, может возникнуть проблема с доступом для запуска исполняемых файлов по сети.

Рассмотрим пример данной проблемы.

Домашняя сеть

Имеем настроенный файловый сервер Samba на Ubuntu Server 16.04. Samba сервер был настроен вот по этому мануалау.

Также установлен transmission-daemon для скачивания чего либо через торрент. Торрент настраивался по этому мануалау.
Transmission настроен для автоматического сканирования определенной директории на сервере и запуску данного торрент-файла после появления его в данной директории. После завершения скачивания файл помещается в директорию, которая открыта в Samba для общего доступа по сети.

Также в наличии имеется два ноутбука с установленной Windows 7 и один ПК на Windows 10.

Ошибка открытия файла по сети

Для удобства весь необходимый софт располагается на сервере и открыт в общей доступ по сети. Также через торрент скачиваются образы и необходимые программы для домашнего использования.

Но вот запустить и установить что либо через локальную сеть не получается (для установки программ с расширением .exe, .iso и т.д. их приходится скачивать с сервера к себе на ПК)

Решаем проблему

После обнаружения данной проблемы, я решил разобраться в чем все таки дело.

Было обнаружено, что после скачивания файлов transmission сохраняет их в директории с правами 644, т.е. запрещает их запуск. Настроенный файловый сервер Samba также сохраняет файлы с правами 644.

Я полез в настройки Samba. Найдя параметр create mask в которой было выставлено 644, я изменил значения на 755, но не тут то было. Попробовав сохранить тестовый файл в расшаренную директорию с Window машины, самбо сохранил его с правами 744. Ладно, роем дальше. Почитав man Samba я нашёл ещё один параметр отвечающий за назначение прав доступа на файл — force create mode. Добавляю этот параметр в настройки force creat mode = 777. После этих манипуляций файловый сервер Samba всем файлам прошедшим через него стал назначать права доступа 777.

Конечный результат выглядит следующим образом:

[Downloads]
   path = /home/Downloads
   writeable = yes       
   guest ok = yes               
   comment = Общая папка        
   create mask = 0777        
   directory mask = 0777    
   force create mode = 0777  
   force directory mode = 0777

Что же касается transmissio, то в его настройках присутствует параметр umask. Этот параметр записывается в десятичном коде, то есть umask = 18, что в свою очередь назначит права на файл 755.

Пример перевода из восмеричной системы в десятичную:

1234 = (1·83)+(2·82)+(3·81)+(4·80) = 1·512 + 2·64 + 3·8 + 4·1 = 668

Чтобы поменять права на 777, необходимо выставить значение umask равной 0, также на директорию в самой ОС Ubuntu, в которую будут сохраняться наши скачанные файлы, необходимо выставить права на доступ равной 777. Для этого подключитесь к серверу через ssh и наберите следующее:

sudo chmod -R 777 /home/Downloads

Путь /home/Downloads измените на свой.

После этих манипуляций ошибка запуска исполняемых файлов по сети у меня пропала для всех машин в моей локальной сети.

В следующей статье я разберу пример, как всем нашим файлам и директориям в общей папке, назначить права 755 и пользователя с привилегиями администратора.

Пример: пользователь admin запускает, изменяет и читает файлы, а все остальные только читают и запускают.

На этот на сегодня все.

Не запускаются исполняемые файлы из сети. Ubuntu
Пожалуйста оцените эту статью

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *