Cos'e' Racs?
Racs e' un semplice script Bash che permette di archiviare e gestire accounts in un file pgp. A seconda del tipo di accounts, racs si occupa di lanciare il client appropriato per effettuare il login sulla macchina remota.
Licenza
Racs e' Copyright (C) 2002, Elisa Manara <e@entropika.net> ed e' distribuito secondo i termini della GNU General Public License, contenuta in questo pacchetto.
Installazione
Lancia lo script configure.sh
Copia lo script 'racs' dove vuoi, nella tua PATH.
(Per esempio in /usr/local/bin/racs)
Note sul funzionamento
Ho scelto di non salvare in memoria la password con cui il file racs.pgp viene crittato. Questo comporta che per ogni operazione si debba inserire la password sia per la cifratura che per la decifratura del file: e' una cosa piuttosto noiosa, ma piu' sicura.
Racs identifica con il carattere '!' i campi vuoti di un account. Se un campo necessario per il login remoto risulta vuoto, il tipo di account e' considerato automaticamente 'rem'. I campi ritenuti necessari per il login remoto sono:
hostname
username
Requisiti
bash
expect
dialog (se si intende utilizzare il menu)
pgp/gpg
Racs e' stato testato con:
bash version 2.05a.0(1)-release
expect version 5.32.2
cdialog version 0.9a
Xdialog version 2.0.5
wdialog version 0.5.3
whiptail version 0.21
pgp2.6.3i
pgp5i
gpg 1.0.6
Account file
Racs memorizza tutti gli accounts nel formato
alias::hostname::username::password::account_type
sul file racs.pgp.
Un file racs.pgp e' incluso in questo pacchetto a titolo
esemplificativo.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
La password per decrittare il file e' "test".
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Un account viene richiamato lanciando semplicemente
racs <alias>
dove <alias> e' il nome con cui l'account e' stato memorizzato.
Account types
Racs riconosce i seguenti tipi di accounts:
ssh
ftp
telnet
mysql
sftp
web (autenticazione http o ftp tramite un web browser)
rem
- rem sta per 'reminder'. Quando un account e' definito come 'rem', non viene lanciato nessun programma per effettuare la connessione al server remoto, ma semplicemente i dati dell'account vengono stampati a video.
- web Quando inserisci un account di tipo 'web', devi settare come hostname la URL completa della directory protetta a cui vuoi accedere e come username e password quelle richieste dal sito per l'autenticazione.
Gestione degli accounts
Tutte le operazioni di aggiunta, rimozione, modifica degli accounts possono essere effettuate sia tramite il menu curses-based, sia tramite gli switch che racs riconosce.
Per entrare nel menu curses:
racs -m
Per aggiungere un account
racs -a
Per rimuovere un account
racs -r [alias]
Se l'alias non viene specificato sulla linea di comando, verra' richiesto al momento opportuno dallo script.
Per modificare un account
racs -e [alias]
Per listare tutti gli accounts
racs -l
Per cambiare la password con cui il file racs.pgp e' crittato
racs -c
Importare accounts da un file
Racs permette di importare accounts da un file plain text in cui i dati siano nell'ordine
alias hostname username password account_type
e separati da un qualunque carattere o stringa.
racs -i [filepath] [separatore]
- Esempi
racs -i /tmp/my_file tab
Estrae i dati separati da un tab dal file /tmp/my_file.
racs -i /tmp/my_file space
Estrae i dati separati da uno spazio dal file /tmp/my_file.
racs -i /tmp/my_file "/"
Estrae i dati separati dal carattere "/" dal file /tmp/my_file.
N.B.: non ci possono essere campi vuoti. In luogo di un dato nullo, e' necessario inserire il carattere '!'.
TODO
Devo implementare la possibilita' di specificare delle opzioni per ogni accounts. Per esempio, qualcuno puo' voler lanciare ssh con lo switch -1, oppure fare ftp in modalita' passiva verso un determinato host.
CONTRIBUTI
Un rigraziamento a Wrestler <wrestler@tiscalinet.it> per aver aggiunto il supporto sftp.
FEEDBACK
Per la segnalazione di bug o per qualunque richiesta, scrivimi pure a questo indirizzo:
Elisa Manara <e@entropika.net>
