Bu, nasıl aradığınıza chmod
ve üzerinde çalıştığınız platforma bağlıdır .
Örneğin, bir Linux sisteminde şunu man chmod
söylüyor:
chmod
sembolik bağların izinlerini asla değiştirmez; chmod
sistem çağrısı onların izinlerini değiştiremez. Sembolik bağlantıların izinleri asla kullanılmadığı için bu bir problem değildir. Ancak, komut satırında listelenen her sembolik bağlantı için chmod
, sivri uçlu dosyanın izinlerini değiştirir. Buna karşılık, chmod
özyinelemeli dizin geçişleri sırasında karşılaşılan sembolik bağları yok sayar.
Bununla birlikte, bir Mac’te, şunun gibi seçenekleri kullanarak sembolik bir bağlantının izinlerini değiştirmek için chmod kullanılabilir man chmod
:
-h Dosya sembolik bir bağsa, bağlantının işaret ettiği dosya yerine bağlantının modunu değiştirin.
Örnek olarak, bu cevabın geri kalanında Linux makinesinde olduğunuzu varsayalım.
İlk durumda chmod -R 777 directory
, izinleri tekrar tekrar değiştirmek için koşarsanız, bağlantı hedefi etkilenmez, ancak yaparsanız chmod 777 directory/*
bunu gerçekleştirir.
Bağlantı hedefindeki izinleri doğrudan değiştirirseniz, söz konusu izinler geçerli olacaktır (man sayfası ve baraboom'un dediği gibi, gerçek bağlantı izinleri hiçbir şey için kullanılmaz).
Gösterim için test günlüğü:
$ mkdir dir && touch dir/file{1,2} /tmp/file3 && ln -s {/tmp,dir}/file3
$ ls -l dir/* /tmp/file3
-rw-r--r-- 1 user group 0 2011-06-27 22:02 /tmp/file3
-rw-r--r-- 1 user group 0 2011-06-27 22:02 dir/file1
-rw-r--r-- 1 user group 0 2011-06-27 22:02 dir/file2
lrwxrwxrwx 1 user group 10 2011-06-27 22:02 dir/file3 -> /tmp/file3
$ chmod -R 777 dir && ls -l dir/* /tmp/file3
-rw-r--r-- 1 user group 0 2011-06-27 22:02 /tmp/file3
-rwxrwxrwx 1 user group 0 2011-06-27 22:02 dir/file1
-rwxrwxrwx 1 user group 0 2011-06-27 22:02 dir/file2
lrwxrwxrwx 1 user group 10 2011-06-27 22:02 dir/file3 -> /tmp/file3
$ chmod 700 dir/* && ls -l dir/* /tmp/file3
-rwx------ 1 user group 0 2011-06-27 22:02 /tmp/file3
-rwx------ 1 user group 0 2011-06-27 22:02 dir/file1
-rwx------ 1 user group 0 2011-06-27 22:02 dir/file2
lrwxrwxrwx 1 user group 10 2011-06-27 22:02 dir/file3 -> /tmp/file3