Cygwin User's Guide Parte 5: le utility di Cygwin | OTHER chapters | |
( Ricordiamo che per utilizzare i programmi a riga di comando, occorre aprire la shell di Cygwin, cliccando sull'icona Cygwin, presente sul desktop. La shell è una finestra simile all'emulatore DOS di Windows. I comandi qui riportati sono da scrivere in questa shell. )
Per il cambio password, all'utente viene, prima, richiesta la vecchia password, se esistente. Questa password viene, quindi, codificata e, poi, confrontata con la password ( codificata ) memorizzata. L'utente ha una sola possibilità di inserire la password corretta. L'amministratore può saltare questo passo, così da poter modificare le password dimenticate. All'utente viene poi chiesto di inserire la nuova password.
che restituisce le informazioni relative alla password dell'utente USER ( bloccata, scaduta, etc. ), più alcune informazioni sulle impostazioni globali del sistema. Gli amministratori di sistema possono servirsi dell'utility
e sbloccati, con l'opzione:
L'opzione:
impedisce a USER di modificare le password, mentre l'opzione:
abilita lo stesso USER a modificarle. Per quanto riguarda la scadenza delle password, l'opzione:
disabilita la scadenza ( la password non scade mai ), mentre l'opzione:
fa si che la scadenza della password segua le regole dell'aging, che stabiliscono la minima durata della password e la massima durata della password. L'opzione:
stabilisce che all'utente USER non verrà richiesta alcuna password, mentre l'opzione:
stabilisce il contrario: a USER deve essere richiesta la password. Se non viene specificata alcuna opzione
viene usata per disabilitare un account, dopo NUM giorni dalla scadenza della password ( gli account inattivi sono quelli con password scadute ). Dopo NUM giorni dalla scadenza della password, USER non sarà più in grado di accedere al sistema. L'opzione:
stabilisce un numero minimo di giorni ( DAYS ), entro i quali non sarà possibile modificare la password ( durata minima della password ). L'opzione:
stabilisce un numero di giorni massimo di validità della password. Terminato questo periodo, la password deve essere modificata. Per tutte queste opzioni, sono accettati valori da 0 ( zero ) a 999. L'opzione:
imposta la lunghezza minima ( LEN ) delle password, per gli utenti che non siano membri del gruppo dell'amministratore. I valori accettati vanno da 0 ( zero ) a 14. In tutti i casi in cui possa apparire il valore 0 ( zero ), zero corrisponde a "nessuna restrizione". Tutte le operazioni relative all'utente corrente vengono eseguite sul server contenuto nella variabile d'ambiente LOGONSERVER. Quando, invece, le informazioni o le password da cambiare sono relative ad altri utenti, il server di default è il sistema locale. Per modificare un accout utente residente su una macchina remota, utilizzare l'opzione:
per specificare la macchina sulla quale eseguire l'operazione. Ricordate che, per eseguire questa operazione, l'utente corrente deve essere un membro valido del gruppo degli amministratori sulla macchina remota. E' possibile utilizzare l'opzione:
per impostare una password che verrà memorizzata in un'area speciale del Registro di sistema locale, area utilizzata da Windows per le password usate dagli account che eseguono servizi Windows. Quando un'applicazione Cygwin, con privilegi, invoca
Cygwin verifica se, per quell'utente, esiste una password memorizzata in questa area del Registro. Se la trova, Cygwin la utilizza per passare a questo utente. Questo meccanismo permette di accedere al sistema con
Per concludere, le due opzioni universali:
Le utility di Cygwin:
Prima di eseguire
Questo script crea il file di configurazione di default e, su richiesta, installa
Questo file viene letto, una sola volta, quando
dove
Il valore di default è 2.
dove
per inviare i messaggi di debug a STDERR. Questo comporterà uno STDERR pieno di informazioni che, normalmente, sono utili agli sviluppatori.
per forzare l'attività di log su STDERR. Questa è l'impostazione di default, se STDERR è collegato ad una TTY. In caso contrario, l'impostazione di default è di inviare i messaggi di log al log di sistema. L'opzione corrispondente del file di configurazione è
per non inviare i messaggi di log a STDERR. L'opzione corrispondente del file di configurazione è
per forzare l'attività di log sul log di sistema. Questa è l'impostazione di default, se STDERR non è collegato ad una TTY ( per esempio: rediretto su un file ). L'opzione corrispondente del file di configurazione è
per non inviare i messaggi di log al log di sistema. L'opzione corrispondente del file di configurazione è
per impostare la verbosità dell'output di log. Valori accettati: da 1 a 7. Il valore di default è 6, che è abbastanza verboso. Con 1, avrete solo i messaggi inviati in condizioni difficili, condizioni che portano alla chiusura di
Non attivare il supporto per XSI IPC Shared Memory. L'opzione corrispondente del file di configurazione è
Non attivare il supporto per XSI IPC Message Queues. L'opzione corrispondente del file di configurazione è
Non lanciare XSI IPC Semaphores. L'opzione corrispondente del file di configurazione è
Lo scipt:
lo copia in:
dandovi, così, la possibilità di sovrascriverlo. Il file in
per chiudere un daemon in esecuzione ed uscire. Altri metodi possibili sono: inviare un segnale SIGHUP al PID di
Naturalmente, le ultime due opzioni disponibili sono:
Viste le limitazioni, imposte dal fatto di simulare un ambiente POSIX in ambiente Windows, c'è bisogno di dare alcune informazioni. La colonna PID è l'ID del processo che serve al comando
Di default,
vengono stampati a video tutti i processi utente e di sistema ( di Cygwin ). Le due opzioni sono funzionalmente identiche: coesistono per ragioni storiche, inerenti a Unix.
stampa a video tutti i processi, Windows e Cygwin.
stampa a video la username, al posto dell'UID, PID e PPID ( full listing ).
stampa a video UID, PID, PPID, PGID e WINPID ( long listing ). Di default, anche senza alcuna opzione.
stampa a video le informazioni relative ad uno specifico PID.
stampa a video solo PID e TTY ( short listing ).
stampa a video le informazioni relative ad uno specifico UID.
WINPID è anche un PID e può essere chiuso con il comando Cygwin:
E' necessario dare a
aggiunge una nuova chiave: KEY o SUBKEY.
verifica che la chiave KEY esista ( codice di uscita a zero se esistente, diverso da zero, in caso contrario ).
invia a STDOUT il valore di KEY ( niente altro ). Se il valore non esiste, viene stampato un messaggio di errore e il programma restituisce un codice di errore diverso da zero. Accetta le opzioni:
che stampa i dati di tipo REG_BINARY come byte esadecimali.
che stampa i dati come flusso di byte ( senza tipo, o typeless ), così come memorizzati nel registro.
che stampa i dati numerici ( REG_DWORD, REG_QWORD, normalmente stampati in notazione decimale ) come numeri esadecimali.
stampa a video le SUBKEY, con i relativi valori, di KEY. L'opzione:
dice a
stampa solo i valori. L'opzione:
pospone '
rimuove una KEY. Probabilmente, dovrete, prima di rimuovere una chiave, rimuovere tutto quello che contiene, ma non fidatevi troppo: attenzione a non rimuovere troppe cose, incidentalmente.
imposta un valore per KEY. Per indicare il tipo di dati, utilizzare le opzioni:
I valori di REG_BINARY vanno specificati, come argomento, in byte esadecimali. Se l'argomento è '
rimuove un valore da KEY.
modifica il separatore chiave/valore ( solitamente
aggiunge una nuova SUBKEY e le assegna i valori caricati da un "hive" del registro ( un "hive" è un gruppo logico di KEY, SUBKEY e VALUE, il cui contenuto è salvato in un set di file di backup ). La KEY superiore deve essere HKEY_LOCAL_MACHINE o HKEY_USERS.
rilascia il contenuto dei file e rimuove la SUBKEY.
salva una SUBKEY in un "hive" del registro.
accede al registro usando 64 bit ( opzione ignorata su Windows a 32 bit ). Esistono molte SUBKEY che hanno due versioni, una a 32 bit, l'altra a 64 bit, sui sistemi Windows 64, ovviamente. Visto che Cygwin viene eseguito in modalità 32 bit, può solo accedere, normalmente, alle versioni a 32 bit di queste KEY di registro.
accede al registro usando 32 bit ( opzione ignorata su Windows a 32 bit ). Questa opzione esiste solo per un problema di simmetria. Permette la creazione di script indifferenti al sistema operativo, che potrebbero funzionare anche su una ipotetica versione a 64 bit di Cygwin.
non invia alcun messaggio di errore. Restituisce un valore diverso da zero, nel caso in cui o la chiave o il valore del registro non esistesse.
KEY è espresso nel formato:
dove
I seguenti comandi, quindi, sono equivalenti:
Così come:
Per un
E' possibile utilizzare le forward slash ( Per ciascun file inserito come parametro,
dove:
ignora i permessi specificati nella voce MASK ( maschera )
per sostituirli con i permessi massimi consentiti alla classe del gruppo di file.
preleva le righe ACL dal file ACL_FILE, una per linea. Gli spazi vengono ignorati. Il carattere "
I campi richiesti, in una ACL, sono:
I campi ACL sono separati da una virgola. I campi di default sono come quelli appena visti, più un identificatore aggiuntivo, per esempio:
dove
è simile all'opzione
dove:
elimina uno o più campi ACL. Proprietario, gruppo e "Other" non possono essere eliminati.
come in quest'ultima lista.
aggiunge o modifica uno o più campi ACL.
deve essere specificata. Mentre le opzioni
Le utility di Cygwin:
e riceverete un report simile al seguente:
La sola informazione che ci interessa è la VMA ( virtual memory area ) della sezione
Di default,
Questo comando analizzerà l'intero programma. Su un Pentium II, 300 MHz, ci vorranno almeno 8 minuti ( davvero! ). Una volta finito,
dove
Le colonne "seconds" rappresentano, in realtà, gli opcode della CPU, 1/100 di secondo per opcode. Quindi, 231,22 secondi, significa 23.122 opcode. I valori
A questo punto, invochiamo
che disabilita il debug passo a passo ed utilizza
invece, abilita, di default, il debug passo a passo ed utilizza
stampa messaggi ricchi di informazioni, quali l'inizio e la fine di un thread, le chiamate a
traccia ogni valore EIP ( instruction pointer ) nel file
traccia ogni valore EIP ( instruction pointer ) sulla console. Molto lento. Utile per il debug di pezzi chiave di assembler. Usate:
per convertire tracce simboliche.
traccia anche i sub-thread. Normalmente, avete bisogno di tracciare il solo thread principale, ma, in alcuni casi, torna utile tracciare tutti i thread, soprattutto quando dovete eseguire un profiling di una funzione invocata solo da un sub-thread. Pericoloso se vi trovate in condizioni di "race condition". Tuttavia,
abilita il profiling delle DLL. Genera una tabella del tempo speso per ogni DLL usata dal programma. Non ha senso ottimizzare una funzione, all'interno del vostro programma, se la maggior parte del tempo viene spesa per le DLL. Io normalmente uso le opzioni
Le due opzioni sempre presenti:
Il programma
Con l'opzione:
è possibile iniziare una sessione di tracciamento in una nuova finestra. Per esempio:
Questo è particolarmente utile nel caso di sessioni di tracciamento che hanno bisogno di molto tempo, per essere portate a termine.
Occorre ricordare che
Le altre opzioni disponibili sono:
MASK può essere una combinazione qualsiasi dei seguenti elementi e/o valori esadecimali ( 0x è opzionale ). Le maschere si combinano utilizzando il segno più ( + ) o la virgola ( , ):
Se specificate un percorso POSIX che corrisponde ad un mount point,
Ricordate che è possibile rimuovere solo i mount point utente. L'opzione:
può essere utilizzata per rimuovere tutti i mount point dalla corrente sessione utente.
|
||
Cygwin User's Guide Parte 5: le utility di Cygwin | Disclaimer: this link points to content provided by other sites. |