Quando creo un collegamento rigido utilizzando ln
:Perché le autorizzazioni di un collegamento simbolico sono predefinite per tutte le permissive?
ln testfile.txt testfile2.txt
Il file collegamento reale, confermata dagli stessi numeri di inode per entrambi gli alias nella tabella inode con ls -li
, ha le stesse autorizzazioni iniziali per il file di un collegamento fisico del file con il nome originale:
1222285 -rw------- 2 cs9****-** cs****** 98 Apr 9 15:00 testfile.txt
1222285 -rw------- 2 cs9****-** cs****** 98 Apr 9 15:00 testfile2.txt
Quando creo un collegamento simbolico, però:
ln -s testfile.txt testfile3.txt
e confermare di nuovo con il precedente comando ls
, mostra che si tratta di un collegamento software con l
nell'elenco delle autorizzazioni. Tuttavia, il mio collegamento simbolico ha tutti autorizzazioni per tutti i tipi di utente (gruppo, utente, e altri):
1222285 -rw------- 2 cs9****-** cs****** 98 Apr 9 15:00 testfile2.txt
1222285 -rw------- 2 cs9****-** cs****** 98 Apr 9 15:00 testfile.txt
1222286 lrwxrwxrwx 1 cs9****-** cs****** 12 Apr 9 15:08 testfile3.txt -> testfile.txt
Questo mi porta alle mie domande:
Perché le autorizzazioni iniziali di un legame simbolico tutto permissivo? Capisco che è un diverso tipo di file, ma perché inizia con tutte le autorizzazioni iniziali? Da una domanda su UNIX/Linux.SE, ho scoperto che le autorizzazioni predefinite per una directory sono 777, che capita di essere le stesse autorizzazioni del mio collegamento simbolico. Le autorizzazioni di una directory e di un collegamento simbolico sono in qualche modo correlate?
Come posso creare collegamenti simbolici che hanno le stesse autorizzazioni iniziali dell'originale? In particolare, la ragione per cui voglio farlo è che voglio scrivere uno script di shell per andare in un singolo file system e creare collegamenti fisici e collegamenti software in base al tipo di file, e voglio che mantenga le autorizzazioni.
haha ... ho imparato a usare la maschera. Non so ancora come usarlo per il mio scopo, ma è un inizio con cui giocare. Grazie! –