Aradaki fark, hangi izinlerin alındığı ve bunları ayarlamak için hangi modu kullandığınızdır.
İle chmod +x
hepinizin yürütülebilir bit set - sahibi, sahibi grubu ve diğer kullanıcılara. Bu sembolik mod olarak bilinir. Alıntı yapmak için man chmod
:
İşleç +, seçilen dosya modu bitlerinin her dosyanın mevcut dosya modu bitlerine eklenmesine neden olur; - bunların uzaklaştırılmalarına neden olur; ve = eklenmelerine neden olur ve bir yöneticinin belirtilmemiş set kullanıcı ve grup kimliği bitlerinin etkilenmemesi dışında belirtilmemiş bitlerin kaldırılmasına neden olur.
İle chmod 755
Eğer sekizlik numaralarını kullanıyorsanız, ikili gösterimi izinleri belirli bitleri ayarlamak için kullanılır. İlk (solda) 3 bit, sahip izinlerine, ortadaki 3 grubun izinlerine ve sonuncusu (en sağdaki) diğer tüm kullanıcıların izinlerine karşılık gelir. Bitlerin sırası her zaman aynıdır read,write,execute
veya rwx
Bu nedenle, tam olarak aynı olduğu için, ikili gösterime dönüştürüldüğünde, münferit sayıya karşılık gelen tek tek sayı, sayıdaki karşılık gelen konum bitinin 1 olduğu izin bitlerini 0 olacak şekilde ayarlayacaktır. Özellikle:
- Sekizli sayı
7
ikili olarak 111'dir , bu yüzden sahibi için tüm okuma, yazma ve bit işlemlerini ayarladınız; rwx
ayarlandı.
- Sekizli sayı
5
ikilidir (101), bu nedenle okuma ve yürütme ayarlarınızı yazıp devre dışı bırakıyorsunuzdur ve grup ve diğer kullanıcılar için 5 olduğundan, bu iki kategori aynı izinlere sahip olacak. Böylece r-x
ayarlanır.
İşte küçük demo:
bash-4.3$ touch file1 file2
bash-4.3$ chmod +x file1
bash-4.3$ chmod 755 file2
bash-4.3$ ls -l file1 file2
-rwxrwxr-x 1 xieerqi xieerqi 0 7月 6 13:54 file1
-rwxr-xr-x 1 xieerqi xieerqi 0 7月 6 13:54 file2
chmod +x
diğer izinleri değiştirmeden tüm çalıştırılabilir bayrağını ayarlar.chmod 755
rwxr-xr-x