Örneklerle Linux’ta Chown Komutu Nasıl Kullanılır

Merhabalar,

chown komutu, belirli bir dosyanın, dizinin veya sembolik bağlantının kullanıcı ve/veya grup sahipliğini değiştirmenize olanak tanır.

Linux’ta tüm dosyalar bir sahip ve bir grupla ilişkilendirilir ve dosya sahibi, grup üyeleri ve diğerleri için izin erişim haklarıyla atanır.

Bu eğitimde size pratik örneklerle chown komutunu nasıl kullanacağınızı göstereceğim.

 

chown nasıl kullanılır:

 

chown komutunun nasıl kullanılacağına geçmeden önce, temel söz dizimini gözden geçirerek başlayalım.

chown komut ifadeleri aşağıdaki şekilde ifade edilir.

chown [SEÇENEKLER] USER[:GROUP] DOSYA

USER, yeni sahibin kullanıcı adı veya kullanıcı kimliğidir (UID).

GROUP, yeni grubun adı veya grup kimliğidir (GID).

DOSYA bir veya daha fazla dosya, dizin veya bağlantının adıdır. Sayısal kimliklerin önüne + sembolü konulmalıdır.

KULLANICI – Yalnızca kullanıcı belirtilirse, belirtilen kullanıcı verilen dosyaların sahibi olur, grup sahipliği değişmez.

KULLANICI: – Kullanıcı adının ardından iki nokta üst üste  geldiğinde ve grup adı verilmediğinde, kullanıcı dosyaların sahibi olur ve dosya grubu sahipliği, kullanıcının oturum açma grubu olarak değiştirilir.

KULLANICI:GRUP – Hem kullanıcı hem de grup belirtilirse (aralarında boşluk olmadan), dosyaların kullanıcı sahipliği verilen kullanıcıya ve grup sahipliği de verilen gruba değiştirilir.

:GROUP – Kullanıcı atlanırsa ve grubun önüne iki nokta üst üste : eklenirse, dosyaların yalnızca grup sahipliği verilen gruba değiştirilir.

Kullanıcı ve grup belirtilmeden sadece iki nokta üst üste : verilirse herhangi bir değişiklik yapılmaz.

Varsayılan olarak, başarılı olduğunda chown herhangi bir çıktı üretmez ve sıfır döndürür.

Bir dosyanın kime ait olduğunu veya dosyanın hangi gruba ait olduğunu öğrenmek için ls -l komutunu kullanın

ls -l dosya-adi

Normal kullanıcılar, dosyanın grubunu ancak dosyanın sahibiyse ve yalnızca üyesi oldukları bir grupla değiştirebilirler. Yönetici kullanıcılar, tüm dosyaların grup sahipliğini değiştirebilir.

 

Bir Dosyanın Sahibi Nasıl Değiştirilir:

 

Bir dosyanın sahibini değiştirmek için chown komutunu, ardından yeni sahibin kullanıcı adını ve argüman olarak hedef dosyayı kullanılır.

sudo chown efran 111111

 

 

Birden çok dosya veya dizinin sahipliğini değiştirmek için bunları boşlukla ayrılmış bir liste olarak belirtin. Aşağıdaki komut, deneme dosyası ve fatura adlı bir klasörün sahipliğini efran adlı yeni bir sahiple değiştirir.-

sudo chown efran deneme.txt fatura

 

 

Kullanıcı adı yerine sayısal kullanıcı kimliği (UID) kullanılabilir. Aşağıdaki örnek, deneme adlı bir dosyanın sahipliğini 100q UID ile yeni bir sahiple değiştirecektir.

sudo chown 1001 deneme.txt

 

Kullanıcı adı olarak böyle bir isim olabilir.Bu şekilde yaparsak 1001 isimli kullanıcı adına devredilecektir. Bunu önlemek çin UID nin önüne  + getirelim.

Şu şekilde olmalıdır.

sudo chown +1001 deneme.txt

Bir Dosyanın Sahibi ve Grubu Nasıl Değiştirilir:

Bir dosyanın hem sahibini hem de grubunu değiştirmek için chown komutunu, ardından yeni sahibi ve iki nokta üst üste (:) ile ayrılmış grubu ve arada boşluk bırakmadan hedef dosyayının adı yazılmalıdır.

sudo chown kullanıcı-adı:Grup-adı deneme.txt
sudo chown efran:teknipark-admin  deneme.txt

Aşağıdaki komut, deneme.txt  adlı bir dosyanın sahipliğini efran kullanıcısı ve teknikpark-admin adlı bir grup  ile sahipliği  değiştirir.

 

İki nokta üst üste (:) işaretinden sonra grup adını atlarsanız, dosyanın grubu belirtilen kullanıcının oturum açma grubu olarak değiştirilecektir.

sudo chown efran: deneme.txt

 

Sadece Dosya Sahibi Grubu Nasıl Değiştirilir:

Yalnızca dosyanın grubunu değiştirmek için chown komutunu, ardından iki nokta üst üste (:) ve yeni grup adını (aralarında boşluk olmadan) ve bağımsız değişken olarak hedef dosyayı kullanmalıyız.Aşağıdaki şekilde.

sudo chown :teknikark-admin deneme.txt

Yukarıdaki komut sahipliğin kullanıcı hesabını değiştirmeyecek sadece grup değişliği yapacaktır.

Dosyaların grup sahipliğini değiştirmek için kullanabileceğiniz başka bir komut chgrp’dir.Bunada ayrıca bakabilirsiniz.

 

 

Sembolik Bağlantı Sahipliği Nasıl Değiştirilir:

Özyinelemeli seçenek kullanılmadığında, chown komutu sembolik bağların kendilerini değil, sembolik bağların işaret ettiği dosyaların grup sahipliğini değiştirir.

 

Örneğin, deneme.txt yi işaret eden sembolik bağlantı link `in  sahibini değiştirmeye çalışırsanız, chown, sembolik bağlantının işaret ettiği dosyanın veya dizinin sahipliğini değiştirir.Hadi şimdi bakalım.

sudo chown efran link

 

Yukarıda da görüldüğü link işaret ettiği  deneme.txt sahipliği değişti.

 

Şansınız, hedef sahipliğini değiştirmek yerine, “link1′ başvurusunu kaldıramaz: İzin reddedildi” hatası alırsınız.

 

Hata, çoğu Linux dağıtımında varsayılan olarak sembolik bağların korunmasından ve hedef dosyalarda işlem yapamamanızdan kaynaklanır. Bu seçenek /proc/sys/fs/protected_symlinks içinde belirtilir. 1, etkin ve 0 devre dışı anlamına gelir. Sembolik bağlantı korumasını devre dışı bırakmanızı önermiyorum.

 

Sembolik bağlantının grup sahipliğini değiştirmek için -h seçeneğini kullanın:

sudo chown -h efran link

 

Dosya Sahipliğini Alt Dizinlere Aktarılmasını Sağlamak:

Verilen dizin altındaki tüm dosya ve klasörlere  aktarılması için -R (–recursive) seçeneğini kullanmalıyız.

sudo chown -R :teknikark-admin fatura/

 

Yukarıdaki dizinde  fatura klasörünün sahipliğini değiştirmek için komutu uyguladım.Sonra onun altında bulnan bilgi.txt dosyasının sahipliği kontrol ettim fakat  değişmedi.Alt dizinlere değişliğin aktarılması için -R seçeneğini kullanıp komutu tekrar uyguluyorum ve tekrar test ediyorum.Bilgi.txt dosyasının sahipliğinin değiştiğini görüyorum.

 

Dizin sembolik bağlantılar içeriyorsa -h seçeneğini iletin:

sudo chown -hR :teknikark-admin fatura/

 

Dizin sahipliğini tekrar tekrar değiştirirken kullanılabilecek diğer seçenekler -H ve -L’dir.

 

chown komutuna iletilen argüman bir dizine işaret eden sembolik bir bağlantıysa, -H seçeneği komutun onu geçmesine neden olur. -L

chown komutuna iletilen argüman bir dizine işaret eden sembolik bir bağlantıysa, -H seçeneği komutun onu geçmesine neden olur. -L, chown’a her sembolik bağlantıyı karşılaşılan bir dizine geçmesini söyler. Genellikle, sisteminizi bozabileceğiniz veya güvenlik riski oluşturabileceğiniz için bu seçenekleri kullanmamalısınız.

 

 

Referans Dosya Kullanma:

 

–reference=ref_file seçeneği, verilen dosyaların kullanıcı ve grup sahipliğini belirtilen referans dosyasıyla (ref_file) aynı olacak şekilde değiştirmenize olanak tanır. Referans dosyası sembolik bir bağlantı ise, chown hedef dosyanın kullanıcısını ve grubunu kullanır.

sudo chown --reference=deneme.txt bilisim.txt

Örneğin, Yukarida ki komut, deneme.txt dosyasının sahiplik bilgisini bilisim.txt dosyasına aktaracaktır.Kontrol ettiğimiz de başarılı şekilde sahiplik bilgisi belirtilen dosyaya aktarılmıştır.

 

Özetlersek, chown, dosyanın kullanıcı ve/veya grup sahipliğini değiştirmek için bir Linux/UNIX komut satırı yardımcı programıdır.

 

Umarım bu eğitim yazısı sizler için faydalı olur.

 

 

 

 

Bu eğiticiye oy ver
[Total: 1 Average: 5]
Firat CANOĞLU TAĞ