Pagina 1 di 1

Condivisioni cartelle a tempo

Inviato: 18/01/2014, 23:52
da Doberman
Ciao a tutti,
ho un TS-439 PRO II+ aggiornato alla 4.1 beta.
La mia necessità è quella di disabilitare un utente dalle 22 alle 8 e riabilitarlo dalle 8 alle 22.
La disabilitazione è relativa all'acceso via samba (in pratica l'utente accede da windows alle cartelle condivise del NAS).
E' possibile? Ho rigirato il NAS in lungo e largo senza trovare nulla, unica cosa che faccio è disabilitare la lettura alle cartelle condivise allo specifico utente manualmente....sinceramente è scomodissima come soluzione.

Grazie a tutti.

Re: Condivisioni cartelle a tempo

Inviato: 19/01/2014, 11:20
da ninio
Cosa hai scelto per gestire gli utenti?In base a quello ci potrebbe essere una soluzione.
Il NAS da parte sua non ha questa funzione.

Re: Condivisioni cartelle a tempo

Inviato: 19/01/2014, 12:04
da Doberman
Ho eseguito la condivisione classica tramite il NAS....

Re: Condivisioni cartelle a tempo

Inviato: 19/01/2014, 13:08
da ninio
Allora non c'è soluzione se avevi fatto il joint del NAS a una AD Windows avresti potuto impostare le fasce orarie per il login degli utenti.

Re: Condivisioni cartelle a tempo

Inviato: 19/01/2014, 14:00
da Doberman
Saresti cosi gentile da spiegare meglio la cosa.....

Re: Condivisioni cartelle a tempo

Inviato: 19/01/2014, 14:15
da ninio
Fai prima a descrivermi la tua struttura perché ci potrebbero essere altre possibili soluzioni,questa che ti ho proposto se non hai un dominio AD=Active Directory Windows non è possibile.
Vista la richiesta anomala ho dedotto che l'uso che ne fai non è casalingo : Chessygrin : e quindi ti ho dato una soluzione indipendente da QNAP che di suo non ha nessuna impostazione di questo genere.

Re: Condivisioni cartelle a tempo

Inviato: 19/01/2014, 15:38
da Doberman
No l'uso è quello casalingo, i miei due figlioli hanno un mini pc che si collegano alla loro cartella con tutti i cartoni, utilizzano Ubuntu con XBMC. Ora ad una certa ora vorrei che gli venga inibito l'accesso alla cartella dei cartoni cosi da non fare tardi.

Re: Condivisioni cartelle a tempo

Inviato: 19/01/2014, 17:41
da ninio
Potresti gestirla in base all'utenza, considera che va fatto tutto da shell,quindi se hai idea di cosa tu stia facendo basta che crei 2 script con il comando passwd -l [utente] per bloccare l'utenza e passwd -u [utente] per riattivarlo e li scheduli in crontab
Altrimenti lascia perdere perché QNAP non da supporto su quello che combini nella shell

Re: Condivisioni cartelle a tempo

Inviato: 19/01/2014, 20:02
da Doberman
ninio ha scritto:Potresti gestirla in base all'utenza, considera che va fatto tutto da shell,quindi se hai idea di cosa tu stia facendo basta che crei 2 script con il comando passwd -l [utente] per bloccare l'utenza e passwd -u [utente] per riattivarlo e li scheduli in crontab
Altrimenti lascia perdere perché QNAP non da supporto su quello che combini nella shell

Ok buona idea, ogni volta dimentico che il Qnap lavora sotto Linux, anche se non ho dato l'idea nei post precedenti, ma sotto Linux non ho problemi di sorta, ci lavoro in shell, non amo il WINDOWS. Faccio due prove ed eventualmente scrivo quello che ho fatto per filo e per segno in modo che possa essere utile ad altri.

Re: Condivisioni cartelle a tempo [RISOLTO]

Inviato: 23/01/2014, 14:58
da Doberman
In primis ringrazio NINIO che mi ha fatto accendere la lampadina. Il suggerimento password -l è valido per bloccare l'accesso verso il server via web. Il mio problema era bloccare l'accesso alle cartelle condivise per l'utente in questione, via samba (la condivisione delle cartelle per windows, ma anche per Linux).
Sino a ieri entravo nella GUI del QNAP (TS-439 PRO II) e cambiavo i permessi dell'utente.
Una gran bella seccatura.
Ora la condivisione delle cartelle del Qnap si basa sul SAMBA e di conseguenza del suo file smb.conf.
Tale file lo troviamo (nel mio caso, ma in generale lo troviamo in questa posizione) in /mnt/HDA_ROOT/.config/smb.conf
Per ogni condivisione di cartella ci ritroviamo una cosa del genere

Codice: Seleziona tutto

[SHARE]
comment = 
path = /share/HDD_DATA/SATA_4/Documenti
browsable = yes
oplocks = yes
ftp write only = no
public = yes
invalid users = "mario","guest"
read list = "paolo","luca","pietro"<------
write list = "admin","roberto"
valid users = "luca","admin","roberto","paolo","pietro"
inherit permissions = yes
recycle bin = no
Se ad una certa ora si vuole disabilitare l'utente PIETRO e LUCA all'accesso alla cartella condivisa "SHARE" si dovrà cambiare come segue

Codice: Seleziona tutto

[SHARE]
comment = 
path = /share/HDD_DATA/SATA_4/Documenti
browsable = yes
oplocks = yes
ftp write only = no
public = yes
invalid users = "mario","guest","luca","pietro"<-----
read list = "paolo"
write list = "admin","roberto"
valid users = "luca","admin","roberto","paolo","pietro"
inherit permissions = yes
recycle bin = no
Come possiamo automatizzare il tutto?
Ho percorso questa soluzione, (sicuramente ci sono altri metodi più eleganti, ma per il momento questo e quello che mi è venuto in mente e sopratutto funziona), ho creato un file smb.conf.si e un file smb.conf.no nel primo gli utenti LUCA e PIETRO saranno abilitati e il secondo sono disabilitati.
Ora creiamo 2 script il primo lo chiameremo utentesmb-no.sh

Codice: Seleziona tutto

#! /bin/sh
cp /mnt/HDA_ROOT/.config/smb.conf.no /mnt/HDA_ROOT/.config/smb.conf
/etc/init.d/smb.sh restart
Il secondo script lo chiameremo utentesmb-si.sh

Codice: Seleziona tutto

#! /bin/sh
cp /mnt/HDA_ROOT/.config/smb.conf.si /mnt/HDA_ROOT/.config/smb.conf
/etc/init.d/smb.sh restart
In pratica copiamo il nostro smb.conf.no (per negare la condivisione ai nosti utenti) rinominandolo smb.conf e di conseguenza restartiamo il demone di Samba, e viceversa per abilitarli.
I due script li ho posizionati dentro /etc/init.d/ (utentesmb-no.sh e utentesmb-si.sh)
I file smb.conf.si e smb.conf.no li ho posizionati dentro /mnt/HDA_ROOT/.config/ in prtica dove si trova smb.conf.
Ora non ci rimane che schedulare l'avvio dei 2 script.
Per temporizzare l'esecuzione dei 2 script utilizziamo il crontab.
Per semplicità ho editato con un editor il file posizionato in /mnt/HDA_ROOT/.config/crontab aggiungendo le seguenti righe

Codice: Seleziona tutto

# m h dom m dow cmd
0 4 * * * /sbin/hwclock -s
0 3 * * * /sbin/vs_refresh
0 3 * * * /sbin/clean_reset_pwd
0-59/15 * * * * /etc/init.d/nss2_dusg.sh
10 15 * * * /usr/bin/power_clean -c 2>/dev/null
0 3 * * 0 /etc/init.d/idmap.sh dump
30 7 * * * /sbin/clean_upload_file
45 2 * * * /etc/init.d/updatedb.sh crontab enable
0 3 * * * /bin/rm -rf /mnt/HDA_ROOT/twonkymedia/twonkymedia.db/cache/*
30 3 * * * /sbin/notice_log_tool -v -R
30 7 * * * /usr/local/sbin/version_cleaner -t 0 > /dev/null 2>/dev/null
0 0 * * * /usr/bin/qcloud_cli -c
0 22 * * * /etc/init.d/boysmb-no.sh<----------
0 8 * * * /etc/init.d/boysmb-si.sh<------------
4 3 * * 3 /etc/init.d/backup_conf.sh
In pratica alle 22 parte lo script che disabilita gli utenti e alle 8 li riabilita.
Una volta modificato il file crontab via shell eseguiamo

Codice: Seleziona tutto

crontab /etc/config/crontab
/etc/init.d/crond.sh restart
se eseguiamo crontab -l ci stamperà a video il contenuto del file crontab e dovremmo visualizzare il file modificato con le nostre 2 righe aggiunte.

Ricordo che i 2 script utentesmb-no.sh e utentesmb-si.sh vanno cambiati i permessi in 755 altrimenti non verranno eseguiti.
Spero di non aver dimenticato nulla, e che questa piccola guida possa servire a qualcuno.

A presto
Max