chmod - dosya kipi bitlerini değiştirir
- chmod
- [ SEÇENEK ]... KİP
[,KİP ]... DOSYA...
- chmod
- [ SEÇENEK ]...
SEKİZLİK-KİP DOSYA...
- chmod
- [ SEÇENEK ]...
--reference=ÖRNEK-DOSYA DOSYA...
Bu kılavuzda,
chmod komutunun GNU sürümü
anlatılmaktadır.
chmod, belirtilen her dosyanın
kip bitlerini belirtilen
KİP’e göre
değiştirir. Kip belirtimi yapılacak
değişiklilerin sembolik gösterimlerinden
oluşabileceği gibi yeni kip bitlerinin belirtildiği bit
kalıbını içeren sekizlik sayılardan da
oluşabilir.
Sembolik kip sözdizimi:
[ ugoa...][[+-=][rwxXstugo...]...][,...]
rwxXst harflerinden birkaçı belirtilebilirken,
ugo
harflerinden yalnız biri belirtilebilir. Virgüller ile
ayrılarak, çeşitli sembolik kipler belirtilebilir.
ugoa harfleri, değiştirilecek dosyaya hangi
kullanıcıların erişeceğini belirler:
u sahibi olan kullanıcı
g dosyanın grubunda bulunan kullanıcılar
o dosya grubunun dışındaki diğer kullanıcılar
a bütün kullanıcılar
Şayet bunlardan birisi belirtilmemişse,
a
seçeneği belirtilmiş gibi işlem
yapılır, fakat umask içinde ayarlanmış
bitler etkilenmez.
+ işleci, seçilen kiplerin her dosyadaki mevcut kip bitlerine eklenmesini sağlar
- işleci bunları mevcut kiplerden kaldırmaya yarar
= işleci dosyada bulunan izinler üzerine atama yapmaya yarar
= işleci kullanıldıktan sonra eski dosya izinleri
geçersiz olur ve yeni atanan izinler kullanılır;
dizinlerin kullanıcı ve grup kimliği atama bitleri bu
özellikten etkilenmezler.
rwxXst harfleri, etkiledikleri kullanıcılar için,
yeni bit kiplerini seçerler:
r oku
w yaz
x çalıştır (dizinler için erişim)
X dizin için veya çalıştırma izni olan kullanıcılar için çalıştır
s çalıştırma için kullanıcı veya grup kimliklerini ayarla
t sınırlı silme bayrağı veya yapışkan bit
Bu harflerin bir veya birkaçı yerine
ugo harflerinden
yalnızca birini belirtebilirsiniz:
u izinler dosyanın sahibi olan kullanıcılara aittir
g izinler dosyanın sahibi olan gruptaki kullanıcılara aittir
o izinler önceki iki sınıfta belirtilenlerin dışındaki kullanıcılara aittir.
Bir sayısal kip, en az bir en çok dört sekizlik (0 ile 7
arasında) rakamdan oluşur ve her rakam 4, 2 ve 1 değerli
bitler birbirine eklenerek elde edilir. Atlanmış her bir basamak
sıfır kabul edilir. İlk rakam kullanıcı
kimliğine ata (4), grup kimliğine ata (2) ve
yapışkan bit (1) özniteliklerinden oluşur.
İkinci rakam dosyanın sahibi olan kullanıcı
için izinleri seçer: okuma (4), yazma (2) ve
çalıştırma (1) izinleri.
Üçüncüsü aynı değerleri
gruptaki kullanıcılara, sonuncusu da diğer tüm
kullanıcılara uygular.
chmod asla, sembolik bağların izinlerini
değiştirmez, onların izinlerini
chmod sistem
çağrıları da değiştiremez. Sembolik
bağların izinleri asla
kullanılmadığı için, bu temelde bir sorun
yaratmaz. Bununla beraber, komut satırında listelenen her bir
sembolik bağ için,
chmod sembolik bağın
hedefi olan dosyanın izinlerini değiştirir. Bunun tersi
olarak,
chmod, ardışık dizin
geçişleri sırasında saptadığı
sembolik bağları görmezden gelir.
Dosyanın grup kimliği kullanıcının etkin grup
kimliğiyle veya kullanıcının ek grup
kimliklerinden biriyle eşleşmezse, kullanıcı uygun
ayrıcalıklara sahip olmadığı sürece
chmod normal bir dosyanın grup kimliği atama bitini
(setgid) temizler. Ek kısıtlamalar,
KİP veya
ÖRNEK-DOSYA kullanıcı kimliği atama
(setuid) bitinin ve grup kimliği atama (setgid) bitinin yok
sayılmasına neden olabilir. Bu davranış, temel
alınan
chmod sistem
çağrısının ilkesine ve
işlevselliğine bağlıdır.
Şüphe duyduğunuzda, temeldeki sistem
davranışını kontrol edin.
chmod, siz aksini açıkça belirtmedikçe,
dizinler için kullanıcı kimliği ve grup
kimliği atama bitlerini korur.
u+s ve
g-s gibi sembolik
kiplerle bitleri atayabilir veya temizleyebilirsiniz. Sayısal kipi olan
dizinlerde bu bitleri temizlemek için 00755 gibi başa bir
sıfır, -6000 gibi başa bir eksi imi veya =755 gibi
başa bir eşit imi koymak gerekir.
Sınırlı silme bayrağı ve
yapışkan bit tek bir bit olup, bit dosyanın
türüne bağlı olarak yorumlanır. Dizinler
için bu bit sıradan kullanıcıların
kendilerine ait olmayan dizinleri ve dosyaları dizinden silmelerini
veya isimlerini değiştirmelerini engeller; bu durumda bit, dizin
için
sınırlı silme bayrağı
adını alır ve genelde
/tmp gibi herkesin
yazabildiği dizinlerde kullanılır. Bazı eski
sistemlerdeki normal dosyalarda bu bit uygulamaların metin
bağlamlarının takas alanında saklanmasına
ve böylece çalıştırılırken
daha hızlı yüklenmesini sağlardı; bu
durumda bit
yapışkan bit adını
alırdı. (Linux çekirdeği bu yapışkan
bitleri yoksayar.)
Her
DOSYA’nın kipine belirtilen
KİP
atanır.
--reference seçeneği ile
DOSYA’nın kipine
ÖRNEK-DOSYA’nın kipi atanır.
-
-c, --changes
- Sadece değişiklik
yapıldığında bildirilmesi
dışında --verbose gibidir.
-
-f, --silent, --quiet
- Çoğu hata iletisi
çıktılanmaz.
-
-v, --verbose
- İşlem yapılan her dosya için
bir tanı bilgisi çıktılanır.
- --no-preserve-root
- Kök dizin (’/’) özellikle
işleme alınmaz (öntanımlı).
- --preserve-root
- Kök dizin (’/’) üzerinde
ardışık işlem başarısız
olur.
-
--reference=ÖRNEK-DOSYA
- Bir KİP belirtmek yerine
ÖRNEK-DOSYA’nın kipi kullanılır.
-
-R, --recursive
- Dosyalar ve dizinler üzerinde
ardışık işlem yapılır.
- --help
- Yardım metnini gösterir ve
çıkar.
- --version
- Sürüm bilgilerini basar ve
çıkar.
Her bir
KİP ugoa harflerinin sıfır ya da
birinden,
+-= imlerinin birinden ve
rwxXst harflerinden
sıfır veya bir kaçından,
ugo harflerinin
birinden oluşur.
(veya kısaca ’[ugoa]*([-+=]([rwxXst]*|[ugo]))+’)
David MacKenzie ve Jim Meyering tarafından
yazılmıştır.
GNU coreutils sayfası: <
http://www.gnu.org/software/coreutils/>
Telif hakkı © 2021 Free Software Foundation, Inc. Lisans GPLv3+:
GNU GPL sürüm 3 veya üstü
<
http://gnu.org/licenses/gpl.html> Bu bir özgür
yazılımdır: yazılımı
değiştirmek ve dağıtmakta
özgürsünüz. Yasaların izin verdiği
ölçüde HİÇBİR GARANTİ YOKTUR.
chmod(2)
GNU coreutils sayfasında:
<
http://www.gnu.org/software/coreutils/chmod>
Veya sisteminizde:
info ’(coreutils) chmod invocation’
© 2006 Yalçın Kolukısa
© 2022 Nilgün Belma Bugüner
Bu çeviri özgür yazılımdır:
Yasaların izin verdiği ölçüde
HİÇBİR GARANTİ YOKTUR.
Lütfen, çeviri ile ilgili bildirimde bulunmak veya çeviri
yapmak için
https://github.com/TLBP/manpages-tr/issues adresinde
"New Issue" düğmesine tıklayıp yeni bir
konu açınız ve isteğinizi belirtiniz.