2014-04-09 24 views
5

:Sembolik bağlantı varsayılanlarının izinleri neden olur? Ben <code>ln</code> kullanarak sabit bağlantı oluşturduğunuzda

ln testfile.txt testfile2.txt 

dosya hardlink, ls -li ile inode tablosundaki her iki takma adları için aynı inode sayılarla teyit dosya olarak hardlinked dosya için aynı başlangıç ​​izinlere sahip orijinal adıyla:

1222285 -rw------- 2 cs9****-** cs******  98 Apr 9 15:00 testfile.txt 
1222285 -rw------- 2 cs9****-** cs******  98 Apr 9 15:00 testfile2.txt 

Ben ancak sembolik bir bağlantı oluşturduğunuzda:

ln -s testfile.txt testfile3.txt 

ve önceki ls komutla tekrar teyit, bunun izinler listesinde l ile yumuşak bir bağlantı olduğunu göstermektedir.

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 

Bu sorularıma getiriyor: Ancak, benim sembolik link tüm kullanıcı tipleri için tüm izinleri (grup, kullanıcı ve diğer) vardır

  1. başlangıç ​​izinleri vardır Neden Tümüyle sembolik bir bağlantı mı? Farklı bir filetype olduğunu anlıyorum, ancak neden tüm başlangıç ​​izinleriyle başlıyor? UNIX/Linux.SE ilişkin bir soru, ben bir dizin için varsayılan izinler benim sembolik bağlantı olarak aynı izinleri olmak olur ki, 777 olduğunu keşfetti. Bir dizinin ve sembolik bir bağlantının izinleri bir şekilde ilgili mi?

  2. Ben orijinal olarak aynı başlangıç ​​izinlere sahip sembolik nasıl oluşturabilirim ? Özellikle, bunu istiyorum sebebi tek bir dosya sistemi içine gidip dosyanın türüne bağlı olarak sabit bağlantıları ve yumuşak bağlantıları yapmak için bir kabuk yazmak istiyorum ki, ve bunun izinlerini korumak istiyor.

cevap

2

Hangi platformda çalışıyorsunuz? Eğer linux üzerindeyseniz, o zaman sembolik link izinleri hiç kullanılmamaktadır, bu yüzden hiç kimsenin umurunda değil. Bu BSD, OSX veya diğer tatlar üzerinde farklı olabilir. Bu soru daha iyi unix alt forumunda cevap olabilir

sanırım.

Bir dizinin varsayılan izinleri bunu kimden nereden Hmm, gerçekten bilmiyorum 777

olduğunu keşfetti. Dosya ve dizinler için varsayılan izinler (hala linux üzerinde) sadece işlemin umaskasına bağlıdır. Bakınız man umask.

+0

haha ​​... maskesini kullanmayı öğreniyor. Henüz amacım için bunu nasıl kullanacağımı henüz bilmiyorum, ama onunla oynamak için bir başlangıç. Teşekkürler! –