Dosya İyeliği
Önceki Dosya Öznitelikleri Sonraki
Dosya İyeliği
Her dosyanın sistemde kayıtlı kullanıcı olarak tanımlı bir sahibi ve sistemde tanımlı gruplardan biri olarak bir grubu vardır. Dosya sahibi çoğunlukla bir dosyayı düzenleyebilen kullanıcı olarak ele alınırsa da asıl amaç erişim denetimidir.
Dosya sahibi ve grubu erişimi saptamakta kullanılır. Bunlar için her dosyada erişim izin bitleri tanımlanmıştır; bir bit kümesi dosyanın sahibinin yetkilerini, ikinci bir bit kümesi dosyaya erişim yetkisi olan gruba tanınan yetkileri, üçüncüsü bir bit kümesi ise diğerlerine tanınan yetkileri belirlemekte kullanılır. Bu veriye dayalı olarak erişime nasıl karar verildiği Erişim İzinleri bölümünde ayrıntılı olarak açıklanmıştır.
Bir dosya oluşturulurken, sahibi, sürecin etkin kullanıcı kimliği yapılarak dosya oluşturulur. Dosyanın grup kimliği dosyayı içerecek dosya sistemine bağlı olarak ya sürecin etkin grup kimliği ya da dosyayı içeren dizinin grup kimliği yapılır. Uzak bir dosya sistemine eriştiğinizde uygulanan kurallar sizin dosya sisteminizin değil uzak dosya sisteminin kuralları olacaktır. Bu bakımdan yazılımınız üzerinde çalıştığı sistemin davranış çeşidine bakmaksızın her davranış çeşidine uyum sağlamaya hazır olmalıdır.
Mevcut bir dosyanın sahibini ve/veya grubunu chown işlevini kullanarak değiştirebilirsiniz. Bu işlev chown ve chgrp kabuk komutlarının ilkelidir.
Bu işlevin prototipi unistd.h başlık dosyasında bildirilmiştir.
int chown
(const char *dosyaismi,
 uid_t       kullanıcı,
 gid_t       grup)
işlev
chown işlevi ismi dosyaismi ile belirtilen dosyanın sahibini kullanıcı ve grubunu grup olarak değiştirir.
Bazı sistemlerde bir dosyanın iyeliğinin değiştirilmesi set-user-ID ve set-group-ID bitlerinin temizlenmesine yol açar (Bu bitlerin dosyanın yeni sahipleri ile ilgisi olmadığından bu böyledir.) Diğerleri ile ilişkili izin bitleri değişmez.
İşlev başarılı olduğunda 0, aksi takdirde -1 ile döner. Dosya ismi hatalarına ek olarak aşağıdaki errno hata durumları bu işlev için tanımlanmıştır:
EPERM
Bu sürecin yetkileri istenen değişikliği yapmak için yetersiz.
Sadece ayrıcalıklı kullanıcı ve dosyanın sahibi dosyanın grubunu değiştirebilir. Çoğu sistemde dosyanın sahibini sadece ayrıcalıklı kullanıcı değiştirebilirken bazı sistemlerde ise dosya sahibini değiştirmenize o dosyanın sahibi olarak görünüyorsanız izin verilir. Uzak bir dosya sistemine eriştiğinizde uygulanan kurallar sizin dosya sisteminizin değil uzak dosya sisteminin kuralları olacaktır.
_POSIX_CHOWN_RESTRICTED makrosu hakkında bilgi edinmek için Dosya Desteği Seçenekleri bölümüne bakınız.
EROFS
Dosya, salt-okunur bağlı bir dosya sisteminde.
int fchown
(int dosyatanıtıcı,
 int kullanıcı,
 int grup)
işlev
Bu işlev bir dosya ismi değil dosyatanıtıcı ile belirtilen bir açık dosya tanıtıcı alması dışında chown işlevi gibidir.
İşlev başarılı olduğunda 0, aksi takdirde -1 ile döner. Aşağıdaki errno hata durumları bu işlev için tanımlanmıştır:
EBADF
dosyatanıtıcı argümanı geçerli bir dosya tanıtıcı değil.
EINVAL
dosyatanıtıcı argümanı normal bir dosyayla değil, bir boru ya da soket ile ilişkili.
EPERM
Bu sürecin yetkileri istenen değişikliği yapmak için yetersiz. Ayrıntılar için yukarı, chmod işlevine bakınız.
EROFS
Dosya, salt-okunur bağlı bir dosya sisteminde.
Önceki Üst Ana Başlık Sonraki
Bir Dosyanın Türünün Sınanması Başlangıç Erişim İzinleri için Kip Bitleri
Bir Linux Kitaplığı Sayfası