Posso creare un collegamento simbolico a un file a cui non posso accedere?


8

[ Dichiarazione di non responsabilità : non ci sono intenzioni dannose per questa domanda, sto cercando di capire il comando ln -s per un progetto scolastico]

Dire che ho un file system con la mia cartella home, /home/anna. /home/bobè una cartella a cui non posso accedere, con un file a cui non posso accedere,foo.txt

Posso eseguire correttamente ln -s /home/bob/foo.txtnella mia cartella home? È corretto supporre che se posso, produrrà un collegamento a cui non posso accedere (con le stesse autorizzazioni di foo.txt)?

Cosa succede se DID ha i privilegi di lettura foo.txt, ma non accedo /home/bob?

Che dire del caso inverso, dove potrei accedere /home/bobma non leggere foo.txt?


4
Puoi creare un collegamento simbolico a praticamente qualsiasi cosa, comprese le cose che non esistono.
muru,

1
Tecnicamente il link simbolico non ha autorizzazioni proprie e lslo mostrerà come lrwxrwxrwx, quindi è un po 'sbagliato parlare delle autorizzazioni di un llink.
Henrik supporta la comunità il

Risposte:


9

Sì, è possibile creare un collegamento simbolico a qualsiasi posizione.

Posso eseguire correttamente ln -s /home/bob/foo.txtnella mia cartella home? È corretto supporre che se posso, produrrà un collegamento a cui non posso accedere (con le stesse autorizzazioni di foo.txt)?

Corretta. Si applicano le restrizioni di accesso al file di destinazione. Se si crea un collegamento simbolico a una risorsa limitata, semplicemente non sarà possibile accedervi. Non è nemmeno necessario che il file di destinazione esista effettivamente.

Una demo:

$ ln -s /etc/shadow foo
$ file foo
foo: symbolic link to /etc/shadow
$ cat foo
cat: foo: Permission denied

$ ln -s /etc/nonexistent bar
$ file bar
bar: broken symbolic link to /etc/nonexistent

Cosa succede se DID ha i privilegi di lettura foo.txt, ma non accedo /home/bob?

Se non si dispone delle autorizzazioni per la directory principale, non è possibile accedere al file contenuto . Quindi con un collegamento simbolico non saresti ancora in grado di accedervi. La creazione di un collegamento simbolico non influisce sulle autorizzazioni.

Che dire del caso inverso, dove potrei accedere /home/bobma non leggere foo.txt?

Ancora una volta, è possibile creare un collegamento simbolico ad esso, ma non accedere al file.


2
@ 4o2 Poiché questo è corretto, sto commentando qui per elaborare. La tua domanda ha più a che fare con le autorizzazioni che hai taggato correttamente e benvenute in Exchange. Quando viene creato un utente, ricevono una directory in /homee vengono inseriti in un gruppo con lo stesso nome del loro nome utente, ovvero l'utente bob è nel gruppo bob, fino a quando non viene aggiunto ad altri per impedire agli utenti di leggere gli altri file. Ai vecchi tempi, tutti gli utenti appartenevano agli utenti del gruppo, il che consentiva le intenzioni dannose a cui alludevi. Affinché Anna possa vedere i file di Bob, Bob deve aggiungerla al gruppo bob.
eyoung100,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.