Отказано в доступе при запуске скрипта Python из общего ресурса Samba

Отказано в доступе при запуске скрипта Python из общего ресурса Samba

Я пытаюсь смонтировать общий ресурс Samba на рабочем столе Ubuntu 12.04 с рабочего стола Fedora 17.

Я могу создавать, редактировать и удалять файлы без проблем, но когда я пытаюсь запустить скрипты Python на общем ресурсе, я получаю ошибку «Отказано в доступе».

Я попробовал смонтировать как root и использовать sudo со следующими командами:

mount -t cifs //192.168.0.3/homeshare netbook -o user=james

mount -t cifs -o exec //192.168.0.3/homeshare netbook -o user=james

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

-rw-rw-r--. 1 james james 31804 Aug 14 18:20 cronlog.txt

-rwxrwxr-x. 1 james james   666 Aug 16 17:49 current.py

Как мне смонтировать этот ресурс в Fedora 17 и запустить скрипты?

решение1

Я бы не использовал samba для соединения двух машин linux. Samba разработана для того, чтобы машины linux/unix могли взаимодействовать с windows инаоборот.НФСгораздо лучше для двух машин linux. Вы, вероятно, можете настроить параметры samba, чтобы разрешить выполнение скриптов, но вам действительно будет лучше использовать собственный метод linux. В моей системе у меня есть один и тот же каталог, экспортированный с помощью samba (для windows в моей домашней сети) и nfs для linux и OSX.

Чтобы экспортировать каталог с помощью nfs, сначала на сервере и клиенте установите autofs5и nfs-common(autofs используется для автоматического монтирования/размонтирования общего ресурса, как описано ниже). На сервере установите nfs-kernel-server.

Затем (все эти команды следует выполнять от имени пользователя root):

  1. Создайте каталог, который вы будете экспортировать, например /nfs_shares:

    sudo mkdir /nfs_shares
    
  2. Настройте правила экспорта. На сервере отредактируйте /etc/exportsи добавьте следующие строки:

    /nfs_shares       192.168.0.XX(rw,sync,no_subtree_check)
    

    Где 192.168.0.XX — это IP-адрес клиента (вашего рабочего стола Ubuntu).

  3. Смонтируйте (привяжите) каталог, который вы будете экспортировать в это новое место. Сначала добавьте эту строку в /etc/fstab:

    /path/to/exported/homeshare /nfs_shares bind bind 0
    

    Затем смонтируйте его:

    mount /nfs_shares
    
  4. На клиенте создайте каталог, в который вы будете монтировать общий ресурс (например, /mnt/homeshare):

    mkdir /mnt/homeshare
    

    На этом этапе вы должны иметь возможность вручную смонтировать общий ресурс. На клиенте:

    mount -t nfs 192.168.0.XX:/nfs_shares/ /mnt/homeshare
    
  5. Теперь давайте автоматизируем. На клиенте создайте файл с именем /etc/auto.master со следующими строками (измените SERVERNAME на то, как вы хотите его назвать):

    +auto.master
    /mnt/homeshare  /etc/auto.SERVERNAME   --timeout 60 --ghost
    
  6. На клиенте создайте файл с именем /etc/auto.SERVERNAME (измените SERVERNAME на то, что вы использовали в шаге 4) со следующими строками (вы можете использовать сетевое имя сервера или IP-адрес, если он статический, измените XX на IP-адрес вашего сервера):

    homeshare  -rw,soft,intr,bg,rsize=8192,wsize=8192 192.168.XX.XX:/nfs_shares/homeshare
    
  7. Запустите его! На сервере запустите service nfs-kernel-server restartи на клиенте запуститеservice nfs-common restart; service autofs restart

Итак, это делает так, что общий ресурс монтируется автоматически. Если он неактивен в течение одной минуты, он будет размонтирован и перемонтирован, как только вы попытаетесь получить к нему доступ (например ls /mnt/homeshare). Убедитесь, что вы установили разрешения так, как вам нужно (чмод) для используемых вами каталогов.

решение2

Если вас не слишком волнует производительность и некоторые особенности, есть также возможность использовать SSHFS.

С Nautilus это очень просто. Перейдите в File, Connect to Server..., выберите SSHтип, заполните данные и все. Общий ресурс будет смонтирован в /run/user/james/gvfs/. Чтобы размонтировать его, перейдите Computerв Nautilus, щелкните правой кнопкой мыши по общему ресурсу и выберите Unmount.

Связанный контент