Sto cercando di montare una condivisione samba su un desktop Ubuntu 12.04 da un desktop Fedora 17.
Posso creare, modificare ed eliminare i file senza alcun problema, ma quando provo a eseguire script python sulla condivisione ho un permesso negato errore.
Ho provato a montare come root e usando sudo con i seguenti comandi:
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
le autorizzazioni di file hanno un. dopo di loro, ma non riesco a capire cosa significhi
-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
Come posso montare questa azione in Fedora 17 e eseguire script?
Non vorrei usare samba per colbind due macchine Linux. Samba è progettato per consentire alle macchine linux / unix di comunicare con le windows e viceversa . NFS è molto meglio per due macchine Linux. Potresti probabilmente modificare le impostazioni di samba per permetterti di eseguire script, ma veramente sarai meglio utilizzare un metodo linux nativo. Sul mio sistema, ho la stessa directory esportta usando samba (per le windows sulla mia networking domestica) e nfs per linux e OSXes.
Per esportre una directory usando nfs, innanzitutto, sia server che client, installare autofs5
e nfs-common
(gli autofs vengono utilizzati per installare / smontare automaticamente la condivisione come spiegato di seguito). Sul server, installare nfs-kernel-server
.
Quindi (tutti questi comandi devono essere eseguiti come root):
Crea la directory che esporterai, ad esempio / nfs_shares:
sudo mkdir /nfs_shares
Impostare le regole di esportzione. Sul server, modificare /etc/exports
e aggiungere queste righe:
/nfs_shares 192.168.0.XX(rw,sync,no_subtree_check)
Dove 192.168.0.XX è il client (il tuo Ubuntu Desktop) IP.
Montare (ribind) la directory che esporterai in questa nuova posizione. Innanzitutto aggiungere questa row a / etc / fstab:
/path/to/exported/homeshare /nfs_shares bind bind 0
Quindi, montarlo:
mount /nfs_shares
Sul client, crea la directory in cui monterà la condivisione (ad es. / Mnt / homeshare):
mkdir /mnt/homeshare
A questo punto dovresti essere in grado di montare manualmente la condivisione. Sul cliente:
mount -t nfs 192.168.0.XX:/nfs_shares/ /mnt/homeshare
Adesso, lascia automatizzare. Sul client, crea un file denominato /etc/auto.master con queste righe (cambia SERVERNAME a qualunque cosa lo desideri):
+auto.master /mnt/homeshare /etc/auto.SERVERNAME --timeout 60 --ghost
Sul client, crea un file denominato /etc/auto.SERVERNAME (cambia SERVERNAME a tutto quello che hai usato nel passaggio 4) con queste righe (puoi usare il nome di networking del server o IP se è statico, cambiare i XX per qualunque sia il tuo IP del server ):
homeshare -rw,soft,intr,bg,rsize=8192,wsize=8192 192.168.XX.XX:/nfs_shares/homeshare
Eseguirlo! Sul server, eseguire il service nfs-kernel-server restart
e il runtime service nfs-common restart; service autofs restart
esecuzione del client service nfs-common restart; service autofs restart
service nfs-common restart; service autofs restart
Così, questo lo rende così la quota viene montata automaticamente. Se è utile per un minuto, sarà smontato e rimontato non appena si tenta di accedervi (ad es. ls /mnt/homeshare
). Assicurarsi di impostare le autorizzazioni come necessario ( chmod ) per le directory che utilizzi.
Se non ti import troppo delle performance e di alcune stranezze, c'è anche l'opzione di utilizzare SSHFS
.
Con Nautilus è molto facile. Vai a File
, Connect to Server...
, seleziona SSH
come tipo, compila i dettagli e lo è. La quota verrà montata sotto /run/user/james/gvfs/
. Per smontarlo, andare su Computer
in Nautilus, fare clic con il button destro del mouse sulla condivisione e select Unmount
.