Я пытаюсь смонтировать общий ресурс 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):
Создайте каталог, который вы будете экспортировать, например /nfs_shares:
sudo mkdir /nfs_shares
Настройте правила экспорта. На сервере отредактируйте
/etc/exports
и добавьте следующие строки:/nfs_shares 192.168.0.XX(rw,sync,no_subtree_check)
Где 192.168.0.XX — это IP-адрес клиента (вашего рабочего стола Ubuntu).
Смонтируйте (привяжите) каталог, который вы будете экспортировать в это новое место. Сначала добавьте эту строку в /etc/fstab:
/path/to/exported/homeshare /nfs_shares bind bind 0
Затем смонтируйте его:
mount /nfs_shares
На клиенте создайте каталог, в который вы будете монтировать общий ресурс (например, /mnt/homeshare):
mkdir /mnt/homeshare
На этом этапе вы должны иметь возможность вручную смонтировать общий ресурс. На клиенте:
mount -t nfs 192.168.0.XX:/nfs_shares/ /mnt/homeshare
Теперь давайте автоматизируем. На клиенте создайте файл с именем /etc/auto.master со следующими строками (измените SERVERNAME на то, как вы хотите его назвать):
+auto.master /mnt/homeshare /etc/auto.SERVERNAME --timeout 60 --ghost
На клиенте создайте файл с именем /etc/auto.SERVERNAME (измените SERVERNAME на то, что вы использовали в шаге 4) со следующими строками (вы можете использовать сетевое имя сервера или IP-адрес, если он статический, измените XX на IP-адрес вашего сервера):
homeshare -rw,soft,intr,bg,rsize=8192,wsize=8192 192.168.XX.XX:/nfs_shares/homeshare
Запустите его! На сервере запустите
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
.