Michele Liberi software
versione 1.03, 1 settembre 2022
|
|
Michele Liberi
mail: mliberi@gmail.com
cell: 3485211456
|
liberix
- Presentazione
- Programmi scritti in linguaggio C
- espressioni regolari
- servizi TCP V4
- accesso a servizi TCP V4
- applicazioni WEB
- nuovi comandi
- kcc, il compilatore di shell scripts
- mq, interazione con server MQM
- ckuserpw, controllo o cambio password
- metafl, archiviatore di metadati
- 1moregrp, lancia un comando previa aggiunta di un gruppo
- rmlines, rimuove righe da un file
- rows, trova righe in comune
- total, somma algebrica
- accessx, accessibilità di files e directories
- rtest, accessibilità per utente reale
- unchain, cancella catena di link simbolici
- fdump, visualizza un file in esadecimale
- u2d, converte un file da UNIX a DOS
- d2u, converte un file da DOS a UNIX
- ascii, tabella di codifica ASCII
- ebcdic, tabella di codifica EBCDIC
- asc2ebc, conversione da ASCII a EBCDIC
- ebc2asc, conversione da EBCDIC a ASCII
- ckhosts, verifica file hosts
- mynames, lista nomi di rete
- hostip, risoluzione nome di rete
- hff, codifica decodifica di Huffmann
- cargs, verifica argomenti
- mutuo, tabella ammortamento a rata costante
- id3, manipolazione informazioni per brani MP3
- woha2bash, converte un oggetto woha in una script bash
- now, cronometro per shell script
- comandi UNIX potenziati
- crittografia
- X clients
- componenti CGI
- Shell scripts
- Siti WEB
- Applicazioni Android
- Installazione
- Licenza d'uso
Il comando kcc trasforma una shell script (bash, ksh, csh, ...) in un file eseguibile.
Perché compilare una shell script? Quali sono i vantaggi?
- protezione dei sorgenti
- una shell script può contenere una considerevole quantità di know-how e tempo necessario per lo sviluppo.
La distribuzione di un file eseguibile consente di proteggere tale valore.
- SUID e SGID
- IBM AIX ed altri sistemi operativi basati su standard POSIX semplicemente ignorano i bit SUID e SGID, e ciò costringe chi opera nel mondo UNIX a creare dei wrappers che, se non ben progettati, costituiscono un rischio sicurezza per il sistema.
La compilazione risolve a monte il problema, perché il file eseguibile ottenuto rispetta i bit SUID e SGID.
- real user id e gruppi
- un eseguibile generato con kcc può opzionalmente impostare il real user id ed i gruppi corrispondenti. Ciò è talvolta necessario quando non è sufficiente impostare l'effective user id.
- verifica eventuali errori di sintassi
- all'atto della compilazione eventuali errori di sintassi vengono evidenziati e ciò evita il fastidioso problema di incorrere in errori di sintassi a run time.
La compilazione può avvenire in due modalità:
La modalità statica prevede la presenza di un compilatore C in fase di compilazione e genera un eseguibile nativo per il sistema operativo.
In fase di compilazione deve anche essere presente il file kcs.o, specifico per ogni sistema operativo.
La modalità dinamica genera un file intermedio che può essere posto in esecuzione su qualunque sistema operativo, ma richiede due componenti di runtime, specifici per il sistema operativo, all'atto del caricamento: /bin/kcr e /bin/kce.
Per ulteriori informazioni sulle opzioni disponibili lanciare il comando kcc -h.