Precedente :: Successivo |
Autore |
Messaggio |
balubeto Dio minore
Registrato: 19/05/06 08:22 Messaggi: 757
|
Inviato: 27 Dic 2014 10:41 Oggetto: [Lubuntu 14.04] Montare all'avvio una directory di rete |
|
|
Ciao
Ho Lubuntu 14.04 a 32 bit.
Volendo montare in automatico ed all'avvio una directory di rete di un NAS con il protocollo smb e dare a tutti gli utenti i diritti di lettura e scrittura, ho scritto nel file etc/fstab questa riga:
Codice: |
//<Server_name>/<Share_directory> /media/<Point_mount> smbfs credentials=/etc/smbpw,dir_mod=0777,file_mod=0777,rw,iochartset=utf8 0 0
|
Quando, pero', accedo a questa directory di rete con PCManFM, ricevo questo messaggio d'errore: "mount: solamente root puo' montare //<Server_name>/<Share_directory> su /media/<Point_mount>". Come mai?
Grazie
Ciao |
|
Top |
|
|
Sbazaars Eroe in grazia degli dei
Registrato: 09/10/14 14:38 Messaggi: 152 Residenza: Bari
|
Inviato: 28 Dic 2014 15:34 Oggetto: |
|
|
Non me ne intendo molto di reti, ma a quanto pare il problema sembra legato alla mancanza di permessi. Solo l'utente Root può procedere con l'operazione. |
|
Top |
|
|
MK66 Moderatore Sistemi Operativi
Registrato: 17/10/06 22:24 Messaggi: 8616 Residenza: dentro una cassa sotto 3 metri di terra...
|
Inviato: 28 Dic 2014 15:55 Oggetto: Re: [Lubuntu 14.04] Montare all'avvio una directory di rete |
|
|
Prova così:
Codice: |
//<Server_name>/<Share_directory> /media/<Point_mount> smbfs credentials=/root/smbpw,dir_mod=0777,file_mod=0777,rw,iochartset=utf8 0 0
|
e se, per caso, non hai messo password, leva invece il parametro Codice: | credentials=/root/smbpw |
|
|
Top |
|
|
balubeto Dio minore
Registrato: 19/05/06 08:22 Messaggi: 757
|
Inviato: 31 Dic 2014 09:08 Oggetto: |
|
|
Non funziona. Come mai?
Grazie
Ciao |
|
Top |
|
|
amldc Dio maturo
Registrato: 02/05/06 16:21 Messaggi: 1382
|
Inviato: 31 Dic 2014 18:05 Oggetto: |
|
|
Per utilizzare mount devi avere i privilegi di root, prova con:
sudo mount ...
A chi interessa: io mi sono fatto questo script che utilizzo per montare e smontare le condivisioni del NAS.
Utilizza due file di configurazione dove memorizzare le credenziali di accesso e l'elenco delle condivisioni da montare.
Il file delle credenziali dovrà essere: <nome-nas>.credentials
e quello con l'elenco <nome-nas>.shares
Lo script dovrà essere quindi richiamato passandogli come parametro il nome del NAS. Se richiamato con umount come secondo parametro, provvederà a smontare le condivisioni.
Monterà le condivisioni in <nome-nas>/<nome-condivisione> nella home dell'utente che lo esegue e nel caso non esista già la directory, provvederà a crearla.
Per sicurezza viene utilizzato il parametro noexec per impedire l'esecuzione di programmi residenti sul NAS.
Deve essere eseguito con sudo, quindi è utile configurarlo con visudo per poterlo eseguire senza dover ogni volta inserire la password ed inserirlo nell'autostart della sessione (in tale modo ogni utente può avere le proprie condivisioni montate all'accesso).
Codice: |
#!/bin/bash
################################################################################
# Mount share folders from NAS - Monta le condivisioni del NAS
# Copyright (C) 2010,2014 Amedeo Lanza - ConsuLanza Informatica
# License: GNU GPLv3
################################################################################
# requires root privileges
# requires cifs-utils to be installed
#
# P1 = HOST
# P2 = COMANDO ('umount' per smontare, vuoto o altro per montare)
#
################################################################################
#
# script needs to be executed with sudo
# controllo esecuzione con sudo
#
if [ "${SUDO_USER}" == "" ]; then
echo "Questo comando va eseguito con sudo."
exit
fi
#
# checks SMB host name
# controllo specifica host SMB
#
HOSTNAME="$1"
if [ "${HOSTNAME}" == "" ]; then
echo "uso:"
echo " $0 <hostname>"
echo " monta le condivisioni per <hostname>"
echo " $0 <hostname> umount"
echo " smonta le condivisioni <hostname>"
exit
fi
#
# checks for credentials file <hostname>.credentials in user's ~/bin directory
# verifica che esista il file credenziali nella <hostname>.credentials directory
# ~/bin dell'utente
#
# example/esempio:
# username=<username>
# password=<password>
# worgroup=<workgroup>
#
CREDENTIALS="/home/${SUDO_USER}/bin/${HOSTNAME}.credentials"
if [ ! -f "$CREDENTIALS" ]; then
echo "File credenziali ${CREDENTIALS} non trovato."
exit
fi
#
# check share list file <hostname>.shares in user's ~/bin directory
# share list file must be plain text vith one share name per line
# controllo presenza file elenco condivisioni <hostname>.shares nella
# directory ~/bin dell'utente
# deve essere un file di testo con un nome condivisione per riga
#
SHARELIST="/home/${SUDO_USER}/bin/${HOSTNAME}.shares"
if [ ! -f ${SHARELIST} ]; then
echo "File elenco condivisioni ${SHARELIST} non trovato."
exit
fi
# read share list into array
# legge l'elenco di cartelle da montare
readarray SHARES < $SHARELIST
#
# tempo di timout per ping
PING_TIMEOUT=3
#
################################################################################
# Mount share on mountpoint. If directory does not exist, creates it
# P1: host
# P2: share
# P3: user
# P4: password
#
# mount on:
# /home/<user>/<hostname>/<sharename>
#
# attenzione: inserendo degli spazi fra le opzioni di mount, il comando fallisce
# con un messaggio di difficile interpretazione.
#
################################################################################
mount_share() {
ping -n -W $PING_TIMEOUT -c 1 $1 > /dev/null 2>&1 && ping_res=0 || ping_res=1
if [ $ping_res -eq 0 ]; then
if [ ! -d /home/${SUDO_USER}/$1 ]; then
mkdir -p /home/${SUDO_USER}/$1
chown ${SUDO_USER}:${SUDO_USER} /home/${SUDO_USER}/$1
fi
if [ ! -d /home/${SUDO_USER}/$1/$2 ]; then
mkdir -p /home/${SUDO_USER}/$1/$2
chown ${SUDO_USER}:${SUDO_USER} /home/${SUDO_USER}/$1/$2
fi
echo "Mount share //$1/$2 on /home/${SUDO_USER}/$1/$2"
mount -t cifs //$1/$2 -o credentials=${CREDENTIALS},noperm,rw,noexec,iocharset=utf8,noacl,file_mode=0777,dir_mode=0777 /home/${SUDO_USER}/$1/$2
fi
}
#
################################################################################
#
case $2 in
['umount']*)
# unmount all shares
for SHARE in ${SHARES[@]}
do
umount /home/${SUDO_USER}/${HOSTNAME}/${SHARE}
done
;;
*)
# default: mount all shares
for SHARE in ${SHARES[@]}
do
mount_share "${HOSTNAME}" "${SHARE}"
done
;;
esac |
|
|
Top |
|
|
balubeto Dio minore
Registrato: 19/05/06 08:22 Messaggi: 757
|
Inviato: 31 Dic 2014 19:10 Oggetto: |
|
|
Qualcuno sa come modificare correttamente il file /etc/fstab per montare una risorsa di rete con il protocollo smb usando un Login diverso da quello dei vari utenti dl Lubuntu 14.04?
Grazie
Ciao |
|
Top |
|
|
balubeto Dio minore
Registrato: 19/05/06 08:22 Messaggi: 757
|
Inviato: 08 Gen 2015 18:21 Oggetto: |
|
|
Ho inserito nel gruppo sambashare gli account che dovranno usare la directory di rete. Poi, ho inserito, nel file /etc/fstab , questa riga:
Codice: |
//<Server_name>/<Share_directory> /media/<Point_mount> cifs credentials=/root/.smbcredentials,file_mode=0775,dir_mode=0775,gid=118,forcegid,iocharset=utf8 0 0
|
In seguito, ho messo la direttiva force group = sambashare nel file /etc/samba/smb.conf e ho riavviato il sistema.
Ora, se scrivo:
Codice: |
xxxxxxx@Pluto:~$ sudo mount -a
|
ottengo:
Codice: |
mount error: could not resolve address for <Server_name>: Unknown error
|
Invece, se accedo direttamente a questa risorsa dal PCManFM, ottengo questo errore:
Codice: |
mount: only root can mount //<Server_name>/<Share_directory> on /media/<Point_mount>
|
Questa risorsa di rete la posso usare normalmente se accedo ad essa mediante il menu Vai ---> rete di PCManFM .
Come mai?
Grazie
Ciao |
|
Top |
|
|
balubeto Dio minore
Registrato: 19/05/06 08:22 Messaggi: 757
|
Inviato: 10 Gen 2015 16:55 Oggetto: |
|
|
Ho notato che, se in /etc/fstab io sostituisco il nome del server con il suo indirizzo IP, riesco ad accedere completamente a questa risorsa di rete. Come mai? Come dovrei fare a fare in modo che il servizio DNS funzioni correttamente anche durante l'avvio di Linux?
Grazie
Ciao |
|
Top |
|
|
|