Come fare a condividere una cartella per lavorarci insieme via rete?
Lavorando con un'amica a un sito web, ci siamo accorti subito che non era pratico lavorare ciascuno su copie locali dell'intero sito, da sincronizzare ogni volta per mantenere il tutto coerente. Avendo già in lan un piccolo server web basato su Debian usato per provare il sito, la soluzione era semplice: lavoriamo entrambi direttamente sul server, su cui oltre ad apache gira già ssh, in modo da rendere superflua ogni sincronizzazione. In questo post vi racconto come ho fatto a condividere questa directory di lavoro.
Chiariamo gli obiettivi: vogliamo condividere una directory sul server in modo che due utenti che si collegano dalla rete possano leggere/scrivere/modificare i file contenuti in quella directory, che è anche la directory che usa il server web per servire le pagine.
[Per chi mi segue da un po'... sì, il server è sostanzialmente lo stesso di cui parlo in questa pagina, migrato da una macchina virtuale su una macchina "reale" :-) ed aggiornato recentemente a Lenny... se siete interessati scrivo un post su questa migrazione...]
Vediamo cosa c'è da fare sul server.
Dunque, abbiamo tre computer in rete, la mia linuxbox con su Mandriva, il pc della mia amica con su MS Windows XP ed il server su cui gira Debian etch (sì, lo so, è uscita lenny, forse faccio l'upgrade...) Lenny (alla fine l'ho fatto l'upgrade, mi serviva una caratteristica del kernel 2.6.26, magari ve ne parlo in un prossimo post...). Sul server abbiamo naturalmente Apache, il server web vero e proprio, MySQL per i database e SSH per l'amministrazione remota.
Vediamo cosa bisogna fare sul server per fare quel che ci serve.
Per caricare file sul server in modo semplice, piuttosto che installare e configurare un altro servizio (FTP :-(, NFS o Samba), ho preferito usare SSH, che c'era già, ed era configurato e funzionava correttamente, abilitando il subsystem SFTP (FTP Sicuro). L'operazione è di una facilità disarmante: basta aggiungere al file di configurazione di SSH, /etc/ssh/sshd_config, la seguente linea...
Subsystem sftp /usr/lib/openssh/sftp-server
... e riavviare il server SSH...
/etc/init.d/ssh restart
Adesso i nostri utenti si possono connettere via SFTP.
Il servizio SFTP per l'utente funziona esattamente come FTP, con la notevole differenza che lo scambio di dati avviene tramite SSH, e dunque in modo sicuro. La cosa non ci fa certo una gran differenza, visto che lavoriamo in una rete locale sicura, ma ha insieme alla sicurezza, forse eccessiva o superflua, c'è l'indubbio vantaggio di un servizio realizzato in modo semplicissimo e senza installare né configurare alcunché di nuovo: insomma, troppo comodo.
Ok, abbiamo il servizio SFTP, andiamo a creare gli utenti che dovranno usarlo. Aggiungiamo gli utenti al sistema con i comandi:
adduser gerlos
adduser mari
Aggiungiamo gli utenti al gruppo www-data in modo che possano scrivere nella directory servita da apache:
adduser gerlos www-data
adduser mari www-data
Cambiamo i permessi sulla directory /var/www in modo che l'albero dei file esistente sia scrivibile dagli utenti del gruppo www-data:
chmod -R g+w /var/www
Di default, quando un utente crea un file, il file viene associato al gruppo predefinito dell'utente, che in Debian è anche il gruppo privato dell'utente, che di solito ha lo stesso nome dell'utente, ad esempio il gruppo privato di gerlos è gerlos. Noi vogliamo invece che ogni file creato dentro /var/www/ sia sempre associato al gruppo www-data, in modo che i due utenti possano lavorarci insieme ed il server web. Possiamo fare questo in due modi: cambiando il gruppo predefinito degli utenti, in modo che sia www-data, oppure, come ritengo sia preferibile per ragioni di sicurezza, impostando il bit setgid sulla directory /var/www.
chmod g+s /var/www/
In questo modo, ogni file ed ogni directory creata qui dentro sarà associata al gruppo www-data. Inoltre, ogni sottodirectory creata qui dentro erediterà il bit setgid. Provare per credere.
A questo punto, per comodità, aggiungiamo nelle home degli utenti un link simbolico alla directory di apache:
ln -s /var/www /home/gerlos/www
ln -s /var/www /home/mari/www
Se creiamo un file qui dentro, ci accorgiamo subito che c'è qualcosa che non va:
$ touch prova
$ ls -l prova
-rw-r--r-- 1 gerlos www-data 0 2009-03-07 13:55 prova
I permessi predefiniti sono tali che ogni nuovo file creato sarà solo leggibile dal gruppo associato, e non scrivibile. Dunque ogni volta che creo un nuovo file dev ocambiare i permessi in modo che anche la mia amica possa modificarlo? Noooo... Siamo pigri ;-) non vogliamo cambiare ogni volta questi permessi, vogliamo che automaticamente questi file abbiano il permesso di scrittura per il gruppo.
Bisogna modificare la umask predefinita, la maschera di permessi usata per la creazione di nuovi file. Andiamo allora a modificare il valore di umask in /etc/profile ed in /etc/login.defs, cambiando il valore da 022 a 002.
La nostra rete locale è sicura, ma visto che oltre all'accesso SFTP i nostri utenti hanno via ssh anche un accesso shell, non fa male prendere qualche precauzione in più, come ad esempio la scadenza delle password, in modo da forzare l'utente a cambiare password periodicamente e a disabilitare l'account in caso di scadenza della password.
Con questi comandi:
chage -W 4 -M 15 -I 3 gerlos
chage -W 4 -M 15 -I 3 mari
In questo modo le password degli utenti scadono ogni 15 giorni, gli utenti vengono pre-avvisati di cambiare password 4 giorni prima della scadenza, e in caso di password scaduta da 3 giorni l'account viene bloccato, ed è necessario che root lo riattivi usando il comando passwd.
Per reimpostare la scadenza della password gli utenti possono usare i comandi:
passwd gerlos
passwd mari
Per vedere quando scade la propria password, gli utenti possono usare i comandi:
chage -l gerlos
chage -l gerlos
Ok, per il server è tutto, adesso andiamo sui client.
In gnu/linux ci sono un gran numero di client SFTP a disposizione. A me piace KDE, che è totalmente trasparente alla rete: basta mettere nella barra dell'indirizzo di Konqueror l'indirizzo del server nel formato sftp://nomeutente@nomeserver ed inserire nome utente e password quando richiesto per usare la cartella sul server come se fosse una cartella locale (aprendo i file con i programmi che usiamo abitualmente, salvando, e così via).
Per l'accesso shell, ovviamente non c'è problema: digitiamo ssh nomeutente@nomeserver, digitiamo la password e siamo dentro.
In lan le prestazioni sono talmente elevate, che non si apprezza alcun ritardo o latenza, e sembra di lavorare davvero come se si avessero tutti quei file sul proprio hard disk.
In MS Windows XP, che io sappia, non c'è "di serie" nessuno strumento per accedere a servizi SSH o SFTP, ma fortunatamente ci sono diversi progetti liberi che forniscono queste funzionalità, come WinSCP (client FTP, SFTP e SCP) e PuTTY (client SSH), leggeri, affidabili e convenienti da usare:
http://winscp.net/eng/docs/lang:it
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Certo, l'accesso al servizio SFTP non è comodo e "integrato" come in gnu/linux con KDE, però è comunque abbastanza facile da usare, soprattutto se si configura WinSCP con l'interfaccia "Explorer" invece della predefinita "Commander".
In verità, se proprio uno non potesse rinunciare a KDE, c'è un progetto che sta lavorando per portare il nuovo e innovativo KDE4 su MS Windows (e su Mac Os X!):
http://windows.kde.org
Io non l'ho ancora provato (lo sapete, non uso Windows da anni, e uso KDE su gnu/linux nativamente), ma se vi sentite avventurosi (è ancora in stadio di sviluppo frenetico), dateci un'occhiata, ne vale la pena!
Chi di voi ha più esperienza con queste cose, conosce alcuni problemi che si possono verificare quando due utenti lavorano contemporaneamente sul contenuto di una directory: può capitare che entrambi salvino gli stessi file, modificati indipendentemente, cancellando reciprocamente le correzioni fatte. Le stesse persone suggerirebbero forse di usare un sistema di gestione di versione, come RCS, CVS o Subversion, sicuramente ottimi, ma eccessivi per i nostri scopi. Alla fin fine, siamo in due a lavorare su quei file, due persone che tra l'altro mentre lavorano parlano tra di loro, e dunque è difficile che si verifichino problemi del genere.
Ciò nonostante, giusto per tener traccia del lavoro e prevenire i problemi detti, abbiamo stabilito di creare un file di testo da usare come log. Quando uno di noi comincia a lavorare su un file, lo annota nel log aggiungendo una riga, e quando finisce aggiunge un'altra riga con una descrizione delle modifiche fatte. In questo momento, prima di cominciare a modificare un file ciascuno può vedere se ci sta lavorando l'altro, ed evitare conflitti.
Questo è tutto, niente di complicato in effetti, ma comunque utile e comodo per lavorare in modo più efficiente.
Se qualcosa non vi è chiaro, consultate la documentazione dei comandi citati, leggendo la relativa pagina man o info; per ogni domanda o chiarimento, lasciate pure un commento qui sotto.
commenti
Thanks
grazie per la spiegazione, mi è risultata utile per un la configurazione di un server di staging.
f
wholesale designer clothing
wholesale designer clothing have the beautiful street fashion.
cheap designer clothes has spanned the street culture in 4 years.They have some famous designer clothes of Ed Hardy imprinted on them like the other well known cheap clothes merchandises.All
cheap fashion clothes are beautiful and suitable.
where can buy cheap clothes online,just go here.all
cheap clothing are at discount price.save 70%.amazing!!
get cheap high heels for you ! We know that the quality of the product directly results in the impression given to people.We believe that only focusing on quality can make us exist as long as possible.
black skechers skechers
black skechers
skechers black
sketcher shape up
skechers store
kids skechers
skechers kids
skechers for kids
skechers sale
skechers on sale
sale skechers
girls skechers
skechers girls
skechers for girls
skechers boot
skechers biker
skechers mens
NBA jerseys wholesale
The replica NFL jerseys for those connected with you who usually do not know,. Also, it truly is totally different to soccer (also referred to as football in some countries). It really is quite various, where, with soccer, you are not allowed to touch the ball together with your fingers; in American football you could choose the ball up and run with it. This is similar for the way replica MLB jerseys is played in England and South Africa.Now it is actually possible for all men and women, women and men, to again their group. Display your support for the group with your new replica NHL jerseys nowadays. Also understand that you are able to find signed, limited edition jerseys in some stores, this will likely make you look like an even better supporter of the favorite crew. NBA jerseys wholesale contrast to all other T-shirt you could buy with the same care and good quality. It is possible to even more funds when you get in substantial quantities.By one or several, to wear in the game at the wholesale authentic cheap NFL jerseys, to show the world who you think is tops. Buy match for your Atlanta Falcons Jerseys family members and all of the shirts to wear with them when you go to town or to the stadium. No matter what city you live in to show team pride, is style. You can always make new friends, when you highlight in a crowd wearing the same uniform with someone else's conversation.Feel like a professional football player by wearing this Reebok cheap NFL jerseys. This procut jersey is engineered to duplicate the team skill position and is made of thick highquality ProBrite nylon with a lycratalic spandex dazzle collar side panels and cuffs. The tackle twill team name and players number are proudly displayed at the chest along with the players name and number featured at the back. The price tag on private low-cost cheap MLB jerseys will probably be a great admirer can easily generate so that you can by means of 75 weights about one hundred and fifty money low-cost cheap NHL jerseys. One that also much of your purpose offseason a great admirer can easily generate inside with low priced and also won't savings abundant with qualities and possesses validated reproduce regarding alternative. When an individual have been to adopt any questionnaire of your hundred or so females, a big proportion may possibly have no idea of how a NBA jerseys wholesale will be enjoyed. Maybe when females started to be a lot more knowledgeable in regards to the sports activity, they might grow to be keen on observing, even when simply to appease their particular guys.
I have been completely
I have been completely producing utilization of Louis Vuitton Zippy Wallet for just about any prolonged period of your time moreover to the awesome big difference I found in among the could possibly burberry outlet the reality that this Hermes Bearn Wallet is definitely an easy-to-use wallet for just about any occasions merely as a end result of its uncomplicated closure in spite of the reality that Zippy Wallet appearsto acquire only a tiny time-consuming to entry your credit history cards or bucks and occasionally you will possibly obtain a scratch with the zipper if you are getting the card out. five finger shoes , it experienced been a pleasant buying information and I arrived to acquire fascinated by replica industry.It's not surprising to discover out that Louis Vuitton has introduced a producer new chic design that may be named pursuing a place. This time, it is situated in Retiro, Brazil. Louis Vuitton Retiro arrives with lots of shadows from other traditional handbags from Louis Vuitton, which consist of Alma and Brea. Shortly pursuing its release, this prada outlet Louis Vuitton Retiro is readily available for $1,700 at which you can purchase 10 replicas.Louis Vuitton Retiro is readily available in GM and PM and marketed much lower than $200 in lots of replica retail industry stores. Crafted from louis vuitton purses timeless Monogram Canvas and cowhide leather-based trimmings, it could certainly represent among the the classics in Louis Vuitton. Other than that, there are 4 pieces of patch using a golden stud at each and every and every comfortably corner,
oakley outlet
It is very suitable to wear pop oakley eyewear in summer. It is classic and fashionable. Welcome to purchase new arrivals of oakley radar range eyeglasses at online Oakley outlet. Just take a pair of cheap Oakley sunglasses.
Invia nuovo commento