Domanda:
perché non posso modificare il mio file `hosts`?
Elad Benda
2014-12-09 20:53:04 UTC
view on stackexchange narkive permalink

Sto cercando di modificare il mio file hosts, perché l'esecuzione di ssh <some host in hosts> non riesce a tradurre in ip.

in base all'interfaccia utente del Finder si trova sotto:

enter image description here tuttavia quando provo a eseguire cat hosts dal terminale ricevo un errore:

  ➜ / etc cat hostscat: hosts: Nessun file o directory di questo tipo  

Ho provato a creare un nuovo file hosts ma poi vedo che ne viene creato un altro accanto al primo

enter image description here

ma quando provo a modificare i secondi hosts devo duplicare su un'altra destinazione. Lo copio in / etc e di nuovo si verifica il primo problema.

Ho provato a modificare i permessi in modo che tutti possano leggere e scrivere. Ma ancora non ha aiutato.

Cinque risposte:
#1
+4
klanomath
2014-12-09 21:12:41 UTC
view on stackexchange narkive permalink

Solitamente solo l'utente root può modificare il file hosts.

Per farlo e correggere il file hosts o la cartella / etc (a seconda di dove hai applicato la lettura / autorizzazioni di scrittura) segui questi passaggi:

  1. Getta via il file hosts appena creato (ma non quello vecchio!)
  2. Ripara i tuoi permessi con Utility Disco . enter image description here
  3. Apri Terminale e inserisci sudo nano / etc / hosts e premi
  4. Inserisci la tua password (non verrà mostrata!) e premi
    Il file host standard in Yosemite ha questo aspetto: nano
  5. Modifica il tuo file hosts .
    Il formato di ogni riga è indirizzo IP, quindi una scheda o un singolo spazio e il nome host. Termina il file con una riga finale vuota.
  6. scrivi le modifiche su disco con ctrl O seguito da ed esci nano con ctrlx
  7. Inserisci exit , premi ed esci da Terminale .app

In alternativa ai passaggi 3-7, puoi scaricare e installare hosts.prefpane e inserire lì i tuoi host aggiuntivi.

#2
+2
samh
2014-12-09 21:24:55 UTC
view on stackexchange narkive permalink

Non dovrebbe esserci un modo per avere due file con lo stesso nome nella cartella / etc. Puoi fare un Ottieni informazioni sull'originale e verificare l'estensione del nome & (e che l'estensione non sia nascosta e che non ci siano spazi alla fine del nome)?

uno era "hosts.txt"
Ciò può accadere se crei il file da zero in TextEdit (o un'app simile) e lo salvi semplicemente nella cartella / etc / e non sei estremamente attento all'estensione e all'opzione "nascondi estensione".
#3
  0
WM.
2014-12-09 20:56:13 UTC
view on stackexchange narkive permalink

Cambia semplicemente ciò che desideri modificare sul duplicato, quindi sostituisci il vecchio file hosts .

#4
  0
Flying Trashcan
2014-12-09 21:14:51 UTC
view on stackexchange narkive permalink

Il modo migliore che ho trovato per modificare le impostazioni degli host è:

1) Fare un duplicato (cosa che hai già fatto)

2) Spostare il duplicato in un nuovo posizione, come il desktop

3) Crea un altro duplicato sul desktop e rinominalo "hosts ORIGINAL" in modo da sapere che è il file hosts originale, nel caso in cui sia necessario ripristinarlo.

4) Apporta le modifiche a "hosts" sul desktop e salvalo.

5) Elimina o rinomina il file "hosts" in / etc in "hosts OLD"

6) Trascina "hosts" dal desktop in / etc. (potrebbero essere richieste le credenziali di amministratore)

#5
-1
Patrick
2015-06-24 00:39:50 UTC
view on stackexchange narkive permalink

Ho riscontrato questo problema in Yosemite 10.10.3. Non sono riuscito a trovare la soluzione finché non ho iniziato a pensare fuori dagli schemi.

La maggior parte delle persone non lo sa, ma come impostazione predefinita la cartella "/ private / etc" e "/ private / etc / hosts "I permessi dei file sono impostati su" sola lettura ". Quindi, se modifichi solo i permessi del file "hosts" in "read and write", non potrai comunque modificarlo in TextEdit. Il file "hosts" è bloccato a causa della cartella "/ private / etc". Il trucco è che devi cambiare sia i permessi della cartella "/ private / etc" quindi il file "/ private / etc / hosts".

sudo chmod 777 / private / etc; chmod 777 / private / etc / hosts; open -t / private / etc / hosts

Non mi interessa se è un bug oppure no!

Non è necessario disporre dei permessi di scrittura nella cartella che lo contiene per modificare il contenuto di un file.Non è così che funziona il sistema di autorizzazione unix.
@JensErat non hai bisogno dei permessi di scrittura per modificare un file in posizione.Ma alcuni editor della GUI scrivono in un file temporaneo nella stessa cartella e, se funziona, eliminano il vecchio file e rinominano il nuovo con quello vecchio.QUEL processo richiede la scrittura nella cartella principale.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...