![Berechtigung zum Ausführen eines Python-Skripts von einer Samba-Freigabe verweigert](https://rvso.com/image/1326118/Berechtigung%20zum%20Ausf%C3%BChren%20eines%20Python-Skripts%20von%20einer%20Samba-Freigabe%20verweigert.png)
Ich versuche, von einem Fedora 17-Desktop aus eine Samba-Freigabe auf einem Ubuntu 12.04-Desktop zu mounten.
Ich kann problemlos Dateien erstellen, bearbeiten und löschen, aber wenn ich versuche, Python-Skripte auf der Freigabe auszuführen, erhalte ich die Fehlermeldung „Berechtigung verweigert“.
Ich habe versucht, als Root zu mounten und sudo mit den folgenden Befehlen zu verwenden:
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
hinter den Dateiberechtigungen steht ein ., aber ich kann nicht herausfinden, was das bedeutet
-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
Wie kann ich diese Freigabe in Fedora 17 mounten und Skripte ausführen?
Antwort1
Ich würde Samba nicht verwenden, um zwei Linux-Rechner zu verbinden. Samba ist dafür gedacht, Linux-/Unix-Rechner mit Windows kommunizieren zu lassen undund umgekehrt.NFSist für zwei Linux-Rechner viel besser. Sie können die Samba-Einstellungen wahrscheinlich so anpassen, dass Sie Skripte ausführen können, aber mit einer nativen Linux-Methode sind Sie wirklich besser dran. Auf meinem System habe ich dasselbe Verzeichnis mit Samba (für Windows in meinem Heimnetzwerk) und NFS für Linux und OSXes exportiert.
Um ein Verzeichnis mit NFS zu exportieren, installieren Sie zunächst auf Server und Client autofs5
und nfs-common
(Autofs wird zum automatischen Mounten/Unmounten der Freigabe verwendet, wie unten erläutert). Installieren Sie auf dem Server nfs-kernel-server
.
Dann (alle diese Befehle sollten als Root ausgeführt werden):
Erstellen Sie das Verzeichnis, das Sie exportieren möchten, zB /nfs_shares:
sudo mkdir /nfs_shares
Richten Sie die Exportregeln ein. Bearbeiten
/etc/exports
und fügen Sie auf dem Server diese Zeilen hinzu:/nfs_shares 192.168.0.XX(rw,sync,no_subtree_check)
Wobei 192.168.0.XX die IP des Clients (Ihres Ubuntu-Desktops) ist.
Mounten (binden) Sie das Verzeichnis, das Sie an diesen neuen Speicherort exportieren möchten. Fügen Sie zunächst diese Zeile zu /etc/fstab hinzu:
/path/to/exported/homeshare /nfs_shares bind bind 0
Dann mounten Sie es:
mount /nfs_shares
Erstellen Sie auf dem Client das Verzeichnis, in dem Sie die Freigabe mounten (z. B. /mnt/homeshare):
mkdir /mnt/homeshare
An diesem Punkt sollten Sie in der Lage sein, die Freigabe manuell zu mounten. Auf dem Client:
mount -t nfs 192.168.0.XX:/nfs_shares/ /mnt/homeshare
Lassen Sie uns nun automatisieren. Erstellen Sie auf dem Client eine Datei namens /etc/auto.master mit diesen Zeilen (ändern Sie SERVERNAME in den gewünschten Namen):
+auto.master /mnt/homeshare /etc/auto.SERVERNAME --timeout 60 --ghost
Erstellen Sie auf dem Client eine Datei namens /etc/auto.SERVERNAME (ändern Sie SERVERNAME in den Wert, den Sie in Schritt 4 verwendet haben) mit diesen Zeilen (Sie können den Netzwerknamen oder die IP des Servers verwenden, wenn es sich um einen statischen Server handelt, ändern Sie die XXs in die IP Ihres Servers):
homeshare -rw,soft,intr,bg,rsize=8192,wsize=8192 192.168.XX.XX:/nfs_shares/homeshare
Führen Sie es aus! Führen Sie es auf dem Server aus
service nfs-kernel-server restart
und führen Sie es auf dem Client ausservice nfs-common restart; service autofs restart
Dadurch wird die Freigabe automatisch gemountet. Wenn sie eine Minute lang inaktiv ist, wird sie ausgehängt und neu gemountet, sobald Sie versuchen, darauf zuzugreifen (z. B. ls /mnt/homeshare
). Stellen Sie sicher, dass Sie die Berechtigungen so einstellen, wie Sie sie benötigen (chmod) für die von Ihnen verwendeten Verzeichnisse.
Antwort2
Wenn Ihnen die Leistung und einige Macken nicht so wichtig sind, besteht auch die Möglichkeit, zu verwenden SSHFS
.
Mit Nautilus ist das ganz einfach. Gehen Sie zu File
, Connect to Server...
, wählen Sie SSH
als Typ aus, geben Sie die Details ein und das war’s. Die Freigabe wird unter bereitgestellt /run/user/james/gvfs/
. Um sie bereitzustellen, gehen Sie Computer
in Nautilus zu , klicken Sie mit der rechten Maustaste auf die Freigabe und wählen Sie Unmount
.