Berechtigung zum Ausführen eines Python-Skripts von einer Samba-Freigabe verweigert

Berechtigung zum Ausführen eines Python-Skripts von einer Samba-Freigabe verweigert

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 autofs5und 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):

  1. Erstellen Sie das Verzeichnis, das Sie exportieren möchten, zB /nfs_shares:

    sudo mkdir /nfs_shares
    
  2. Richten Sie die Exportregeln ein. Bearbeiten /etc/exportsund 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.

  3. 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
    
  4. 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
    
  5. 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
    
  6. 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
    
  7. Führen Sie es aus! Führen Sie es auf dem Server aus service nfs-kernel-server restartund 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 SSHals 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 Computerin Nautilus zu , klicken Sie mit der rechten Maustaste auf die Freigabe und wählen Sie Unmount.

verwandte Informationen