mercoledì 13 dicembre 2017

Mac OS High Sierra non ha più i comandi ftp e telnet: guida su come reintegrarli | Levysoft

Mac OS High Sierra non ha più i comandi ftp e telnet: guida su come reintegrarli | Levysoft:



Nella ultima versione di Mac OS 10.13 High Sierranon tutti si sono accorti che i comandi ftp e telnet da Terminale sono assenti probabilmente perché ritenuti obsoleti e insicuri rispetto a sftp e ssh. Il problema è che la loro mancanza può creare qualche disagio specie se ci si deve collegare a vecchi switch Cisco (dove ssh non è previsto) o semplicemente vecchie installazioni Linux. Ma anche semplicemente se si vuole testare una particolare porta su un server (telnet nomeserver 8080) senza per forza dover usare il comando ‘nc’ di netcat (nc -v nomeserver 8080).
Insomma, se anche voi, come me, sentite la necessità del ripristino di questi due comandi, ecco una rapida guida su come reintegrarli sul vostro nuovo sistema operativo.

Ripristinare i file da un backup di Time Machine

Per recuperare i file di telnet e ftp, è sufficiente copiarli da una installazione di Mac OS Sierra o precedente oppure, se non più disponibile, da un vecchio backup su Time Machine.
Il percorso trovare i due file binari è /usr/bin: essendo una cartella di sistema è nascosta per raggiungerla velocemente si può inserire il percorso dal menu Vai -> Vai alla cartella del Finder:
Si può andare a ritroso nel tempo per trovare una versione del backup in cui i due file sono presenti.
Il problema è che se questi file vengono ripristinati direttamente nel percorso /usr/bin il sistema operativo risponderà con un messaggio di errore del tipo “Operation not permitted“.

Come disabilitare il SIP

Da Mac OS X 10.11 El Capitan Apple ha introdotto funzione SIP (System Integrity Protection) che mira a tutelare l’integrità del sistema nel caso in cui qualche malware o hacker ostile riuscisse a compiere una “escalation dei privilegi” sino ad assumere quelli di root. Se nella maggior parte questo è un grande sistema di sicurezza, è anche vero che nel nostro caso, in cui dobbiamo ripristinare dei file di sistema, è un limite in quanto la funzione SIP potrebbe pensare che un malintenzionato voglia modificare il sistema operativo.
Per verificare lo stato di SIP basta lanciare il seguente comando da Terminale:
csrutil status
per avere in risposta:
System Integrity Protection status: enabled.
Per avere conferma se un particolare directory è sotto la restrizione di SIP è sufficiente, da terminale, lanciare il comando
ls -Ol /
...
drwxr-xr-x@ 10 root wheel restricted,hidden 320 25 Ott 18:21 usr
Le directory che hanno associato il flag ‘restricted’ sono sotto il controllo di SIP.
Per disabilitarlo occorre riavviare il Mac premendo la combinazione di tasti Cmd+R per entrare in Recovery Mode, ovvero in Modalità di ripristino che permette di avviare il Mac da una piccola partizione nascosta che viene creata durante le installazioni di OS X. Questa partizione contiene l’essenziale per accedere ad alcune utility con cui cercare di riparare un Mac non funzionante, eseguire il ripristino di un backup di Time Machine o reinstallare il sistema operativo scaricandolo da Internet, arrivare alla schermata delle utility OS X e lanciare il Terminale.
A questo punto diamo prima il comando
csrutil disable
per disabilitare SIP
e poi
reboot
per avviare il Mac.
Il Mac, dopo questa operazione, funziona normalmente ma non ha più i controlli di SIP. Possiamo verificarlo lanciando il Terminale e dando il comando
csrutil status
System Integrity Protection status: disabled.
Solo a questo punto possiamo copiare i file nella cartella /usr/bin. Essendo una funzione importante di OS X per garantire l’integrità di Mac OS X, vi consiglio di riattivare il SIP il prima possibile, semplicemente, riavviando il Mac ancora in Recovery Mode, ed eseguire da Terminale il comando
csrutil enable
seguito da un altro reboot

Altre alternative se non si dispone di un backup

Per recuperare i file di telnet e ftp, ci sono vari modi, se non si dispone di un backup ti Time Machine.
Uno è installare inetutils da Homebrew
brew install inetutils
oppure direttamente
brew install telnet
Un altro modo è compilare direttamente i file interessanti scaricare da qui il pacchetto inetutils-1.9.4.tar.gz. Quindi scompattarlo col comando:
tar xvjf inetutils-1.9.4.tar.gz
Quindi entrare nella directory appena scompattata e configurando il pacchetto
cd inetutils-1.9.4
./configure --disable-servers --disable-dnsdomainname --disable-hostname --disable-ping --disable-ping6 --disable-rcp --disable-rexec --disable-rlogin --disable-rsh --disable-logger --disable-talk --disable-tftp --disable-whois --disable-ifconfig --disable-traceroute
Orasi può procedere con la compilazione, ma invece di usare il comando classico “make install” lancio solamente
make
e poi copiare direttamente i file interessati nella cartella /usr/bin/
sudo cp telnet/telnet /usr/bin/
sudo cp ftp/ftp /usr/bin/
Ovviamente anche per tutti questi altri metodi, affinché la copia dei file nella cartella di sistema /usr/bin/ vada a buon fine, occorre sempre prima disabilitare il SIP.


'via Blog this'

SpeedTest Italia

(c) www.Speedtest-Italy.com | Speedtest-Italy.com

Cerca su Internet

Loading