Controllo dell'accesso alla stampante

L'accessibilità di una stampante va limitato. NLNX consente di definire l'insieme degli elaboratori clienti che possono servirsi della stampante collegata al proprio.

Tabella u44.6. Script nlnxrc: configurazione della stampa.

Comando Descrizione
nlnxrc printer config
Consente di ricreare il file /etc/printcap impostando la coda di stampa predefinita per la stampante che si usa in un certo momento.
nlnxrc print maxpages
Consente di definire una quantità massima di pagine che possono essere stampate simultaneamente.
nlnxrc printer clients
nlnxrc printer access
Nel primo caso consente di definire l'elenco dei nodi di rete previsti per l'accesso al proprio servizio di stampa; nel secondo consente di scegliere quali nodi, tra quelli previsti, possono accedere effettivamente al servizio di stampa.

La configurazione di una stampante locale comporta inizialmente che questa venga resa accessibile a chiunque, senza limitazioni, mentre la configurazione di una stampante remota coincide con la chiusura dell'accesso a chiunque, salvo ai programmi locali.(1) Per modificare questo sistema di massima, occorre procedere con due comandi di nlnxrc:

nlnxrc printer clients[Invio]

Per prima cosa occorre dichiarare quali sono i nodi da cui è prevista la possibilità di accedere al proprio servizio di stampa (locale o remoto che sia). In pratica, in questo elenco vanno inseriti gli indirizzi IPv4 di chi, per qualche ragione, deve avere la possibilità di stampare. Un elenco del genere potrebbe avere significato:

172.21.1.1
172.21.1.2
172.21.1.3
172.21.2.0/255.255.255.0
172.21.3.0/255.255.255.0

Come si vede, si possono indicare anche gruppi di nodi, specificando una maschera di rete; tuttavia, è bene che non si creino sovrapposizioni, altrimenti diventa poi difficile gestire il controllo dei permessi di accesso.

Supponendo di avere inserito esattamente l'elenco che si vede nell'esempio, dopo, con un altro comando di nlnxrc, è possibili stabilire chi può accedere tra questi:

nlnxrc printer access[Invio]

.--------------------Printer access permissions-----------------------.
| Please, select or deselect allowed access to printer:               |
| .-----------------------------------------------------------------. |
| | [ ] DENY_ALL                  reset to no remote access allowed | |
| | [ ] ALLOW_ALL                 reset to all access allowed       | |
| | [ ] 172.21.1.1                allow_172.21.1.1                  | |
| | [ ] 172.21.1.2                allow_172.21.1.2                  | |
| | [ ] 172.21.1.3                allow_172.21.1.3                  | |
| | [ ] 172.21.2.0/255.255.255.0  allow_172.21.2.0/255.255.255.0    | |
| | [ ] 172.21.3.0/255.255.255.0  allow_172.21.3.0/255.255.255.0    | |
| `-----v(+)--------------------------------------------------------' |
|---------------------------------------------------------------------|
|                   <  OK  >             <Cancel>                     |
`---------------------------------------------------------------------'

Le prime due voci sono costanti, le altre dipendono dall'elenco inserito in precedenza. Selezionando la voce ALLOW_ALL si ottiene di attivare tutte le voci previste, mentre DENY_ALL le disattiva tutte. Queste due voci iniziali servono solo per azzerare velocemente l'elenco e la loro selezione, fa sì che confermando la richiesta si ripresenti l'elenco, senza eseguire subito l'azione richiesta; pertanto, solo quando le prime due voci dell'elenco sono deselezionate si prende in considerazione la scelta di quelle sottostanti e viene aggiornata la configurazione.

Supponendo di abilitare l'accesso al gruppo costituito dagli indirizzi 172.21.2.*, si può osservare cosa succede se si riavvia il comando la volta successiva:

.--------------------Printer access permissions-----------------------.
| Please, select or deselect allowed access to printer:               |
| .-----------------------------------------------------------------. |
| | [ ] DENY_ALL                  reset to no remote access allowed | |
| | [ ] ALLOW_ALL                 reset to all access allowed       | |
| | [X] 172.21.2.0/255.255.255.0  allow_172.21.2.0/255.255.255.0    | |
| | [ ] 172.21.1.1                allow_172.21.1.1                  | |
| | [ ] 172.21.1.2                allow_172.21.1.2                  | |
| | [ ] 172.21.1.3                allow_172.21.1.3                  | |
| | [ ] 172.21.3.0/255.255.255.0  allow_172.21.3.0/255.255.255.0    | |
| `-----v(+)--------------------------------------------------------' |
|---------------------------------------------------------------------|
|                   <  OK  >             <Cancel>                     |
`---------------------------------------------------------------------'

Al riavvio del comando, le voci che in precedenza erano state selezionate, appaiono all'inizio dell'elenco, così da non doverle cercare.

Dal punto di vista del risultato, quello che conta è l'elenco dei punti a cui è concesso accedere. Se nell'elenco sono state fatte delle duplicazioni, per esempio se appare il nodo 172.21.2.33 e anche 172.21.2.0/255.255.255.0, bloccando l'accesso al gruppo 172.21.2.*, attraverso la voce 172.21.2.0/255.255.255.0, il nodo 172.21.2.33 rimane ammesso a inviare delle stampe. Naturalmente può darsi che questo sia ciò che si vuole; quel che conta è capirne la logica.


1) In pratica, se nel proprio elaboratore si configura una coda di stampa diretta a un elaboratore remoto, è necessario che tale coda sia accessibile solo ai processi elaborativi locali, altrimenti, pur non disponendo di una stampante locale, altri elaboratori potrebbero contattare la propria coda e inviare, in pratica, stampe a quell'elaboratore remoto.

«a2» 2013.11.11 --- Copyright © Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net