logo

Örneklerle Linux/Unix'te Chown Komutu

Linux chown komutu, bir kullanıcı veya grup için bir dosyanın sahipliğini, dizinini veya sembolik bağlantısını değiştirmek için kullanılır. Chown, değişim sahibi anlamına gelir. İçinde Linux , her dosya karşılık gelen bir sahip veya grupla ilişkilendirilir.

Linux sisteminin birden fazla kullanıcısı olabilir. Her kullanıcının benzersiz bir adı ve kullanıcı kimliği vardır. Sistemde yalnızca bir kullanıcı mevcutsa, kullanıcı her dosyanın sahibi olacaktır.

Linux sisteminin birden fazla kullanıcısı olabilir. Her kullanıcının benzersiz bir adı ve kullanıcı kimliği vardır. Sistemde yalnızca bir kullanıcı mevcutsa, kullanıcı her dosyanın sahibi olacaktır.

Kullanıcılar farklı gruplarda listelenebilir. Grup, bireysel düzeyde izin ayarlamak yerine grup düzeyinde izin ayarlamamıza olanak tanır.

Dosyanın sistemdeki sahipliği yalnızca bir süper kullanıcı tarafından değiştirilebilir veya düzenlenebilir. Kullanıcılar bir dosyanın sahibi olsa bile dosyanın sahipliğini başkalarına veremezler. Yalnızca bir grup üyesi bir dosyanın grup kimliğini o gruba değiştirebilir. Chown komutu, temel GNU Unix benzeri yardımcı programların yerel Win32 bağlantı noktalarından oluşan UnxUtils koleksiyonunun bir bileşeni olarak Microsoft Windows için yalıtılmış bir paket olarak mevcuttur. Ayrıca bu komut IBM i OS'ye gönderildi.

İşletim sisteminde farklı kullanıcılar, dosyaların korunduğunu garanti etmek ve dosya içeriğini kimin değiştirebileceğine sınırlamalar getirmek için izin ve sahipliğe sahiptir. Linux'ta sistemi kullanan farklı kullanıcılar var:

  • Bir grup sıfır veya birden fazla kullanıcı içerebilir. Bir kullanıcı bir kişiyle ilişkilendirilebilir 'varsayılan grup' . Ayrıca sistemdeki diğer grupların bir parçası da olabilir.
  • Tüm kullanıcıların, ana dizin ve kullanıcı kimliği gibi kendileriyle ilgili birkaç özelliği vardır. Kullanıcıları yönetme sürecini kolaylaştırmak için kullanıcıları herhangi bir gruba ekleyebiliriz.

Ancak -P, -L ve -H seçenekleri manuel olarak özeldir; Birden fazla tanımlamak hata olarak algılanmaz. Son belirtilen bayrak gösterilecek komutun niteliğini belirler. -h bayrağından bahsetmediğimizde ve sembolik bir bağlantı bilindiğinde chown komutu, bağlantının sahipliğini değil, bağlantı tarafından belirtilen dizini veya dosya sahipliğini değiştirir.

Chown komutu zıt etkileri içerir ve -h bayrağından bahsedersek, bağlantının işaret ettiği dizin veya dosyanın değil, bağlantının sahipliğini değiştirir. Bu komut, eğer hem -R hem de -h bayraklarını tanımlarsak, açıklanan dizinleri yinelemeli olarak indirir.

İzinler ve Sahiplik: Linux'ta dizinleri ve dosyaları güvence altına almak ve korumak için, kullanıcının bir dizin veya dosyayla ne uygulayabileceğini kontrol etmek için izinleri kullanabiliriz. Linux aşağıda belirtilen üç farklı izin türünü kullanır:

    Okumak:Kullanıcının dosyaları okumasına izin verir ve kullanıcının, içinde kayıtlı dizinleri veya alt dizinleri okumasını sağlar.Yazmak:Kullanıcının bir dosyayı silmesine ve değiştirmesine izin verir. Ayrıca kullanıcının dizinlerin içeriğini değiştirmesine (içindeki dosyaları silmesine, oluşturmasına ve yeniden adlandırmasına) olanak tanır. Dizine yürütme izni sağlanıncaya kadar değişiklikler onları etkiler.Uygulamak:Bir dosya üzerinde çalıştırılmasına izin verir. Örneğin, exe.sh adında bir dosyamız varsa, ona yürütme izni vermedikçe çalışmayacaktır.

Dosya İzin Türleri

    Kullanıcı:Bu dosya izinleri dosyanın sahibini etkiler.Grup:Bu dosya izinleri, dosyanın sahibi olan grubu etkiler. Kullanıcı sahibinin grup izinleri yerine bu grubun içinde olması durumunda kullanıcı izni kullanılacaktır.Diğer:Bu dosya izinleri sistemdeki diğer tüm kullanıcıları etkiler.

Sözdizimi:

java yöntemi geçersiz kılma

Chown komutunun genel sözdizimi aşağıdadır:

 chown [OPTION]... [OWNER][:] FILE... 

Seçenekler:

Chown komutunun komut satırı seçenekleri şunlardır:

-c, --değişiklikler: Ayrıntılı çıktıyı ayrıntılı olarak görüntülemek için kullanılır ancak yalnızca değişiklik yapıldığında raporlanır.

-f, --sessiz, --sessiz: Hata mesajlarını bastırmak için kullanılır.

-v, --verbose: İşlenen her dosya için bir teşhis görüntülemek için kullanılır.

--referans: Her sembolik bağlantının referansını etkilemek için kullanılır.

-h, --no-reference: Başvurulan herhangi bir dosya yerine sembolik bağlantıları etkilemek için kullanılır.

--from=CURRENT_OWNER:CURRENT_GROUP: Belirli sahibi ve grubu değiştirmek için kullanılır.

salıncaklı java

--no-koru-kök: Özellikle ters eğik çizgiyi ('/') işlememek için kullanılır.

--preserve-root: Chown'un ters eğik çizgide ('/') yinelemeli olarak çalışması başarısız olursa.

--referans=RFİLE: RFILE'ın değerleri yerine sahibini ve grubunu belirtmek için kullanılır.

-R, --özyinelemeli: Dosyalar ve dizinler üzerinde işlemleri yinelemeli olarak gerçekleştirmek için kullanılır.

--yardım: Kullanım ve seçeneklerin kısa bir açıklamasını içeren yardım kılavuzunu görüntülemek için kullanılır.

--versiyon: Versiyon bilgisini görüntülemek için kullanılır.

Seçenekler

-H: Komut, sembolik bağlantı tarafından tercih edilen dizinin kullanıcı kimliğini (belirtilirse grup kimliğini de) ve -R bayrağından bahsediliyorsa ve bir tür dizin dosyasına atıfta bulunan sembolik bir bağlantıdan bahsediliyorsa, onun altındaki dosya hiyerarşisi içindeki her dosyayı değiştirecektir. komut satırında.

-L: Komut, sembolik bağlantı tarafından tercih edilen dizinin kullanıcı kimliğini (belirtilirse grup kimliğini de) ve -R bayrağından bahsediliyorsa altındaki dosya hiyerarşisindeki her dosyayı değiştirecektir. Bir tür dizini dosyasına atıfta bulunan sembolik bir bağlantı, komut satırında belirtilir veya bir dosya hiyerarşisi geçişi sırasında bilinir.

-P: -R bayrağından bahsediliyorsa ve komut satırında sembolik bir bağlantıdan bahsediliyorsa veya bir dosya hiyerarşisi sırasında biliniyorsa, sistem bu işlem için destek sağladığında, komut sembolik bağlantının sahip kimliğini (belirtilirse grup kimliğini de) değiştirecektir. geçiş. Chown komutu, bir dosya hiyerarşisinin diğer bölümlerinin sembolik bağlantısını takip etmeyecektir.

-R: Sembolik bir bağlantı biliniyorsa ve bağlantı bir dizini temsil ediyorsa, dizinin sahipliği değiştirilir ancak dizin daha fazla geçilmez. Ayrıca, bağlantı bir dizini temsil ederken -P, -L, -H ve -h seçenekleri belirtilmemişse ve sembolik bağlantı biliniyorsa, o dizinin grup sahipliği değiştirilir ancak dizin daha fazla geçilmez.

UID, GID ve Grupları görüntüleme

Tüm grupları görüntülemek için, group komutunu aşağıdaki gibi yürütün:

 groups 

Yukarıdaki komut Linux sisteminizdeki tüm mevcut grupları listeleyecektir. Aşağıdaki çıktıyı göz önünde bulundurun:

Linux chown komutu

UID ve GID'yi listelemek için id komutunu aşağıdaki gibi yürütün:

 id 

Yukarıdaki komut, ilgili kullanıcı ve grupların tüm UID'lerini ve GID'lerini listeleyecektir. Aşağıdaki çıktıyı göz önünde bulundurun:

Linux chown komutu

Bir Dosyanın Kullanıcı ve Grup Sahipliğini Görüntüleme

Bir dosyanın kullanıcısını ve grup sahibini görüntülemek için 'ls -l' komutunu belirli bir dosya adıyla çalıştırın. Aşağıdaki komutu göz önünde bulundurun:

 ls -l Demo.txt 

Yukarıdaki komut 'Demo.txt' dosyasının kullanıcı ve grup sahipliğini gösterecektir. Aşağıdaki çıktıyı göz önünde bulundurun:

Linux chown komutu

Bir Dosyanın sahibini değiştirme (Kullanıcı adını kullanarak)

Bir dosyanın sahibini değiştirmek için kullanıcı adını (yeni sahip) chown komutuyla aşağıdaki gibi iletin:

manuel test
 sudo chown 

Aşağıdaki komutu göz önünde bulundurun:

 sudo chown jtp Demo.txt 

Yukarıdaki komut, vesaire 'Demo.txt' dosyasının sahibi olarak. Aşağıdaki çıktıyı göz önünde bulundurun:

Linux chown komutu

Yukarıdaki çıktıya göre verilen dosyanın sahibi değişmiştir.

Bir Dosyanın Sahibini Değiştirme (UID Kullanarak)

Bir kullanıcının UID'sini kullanarak bir dosyanın veya dizinin sahibini değiştirebiliriz. UID'yi kullanarak sahipliği değiştirmek için UID'yi chown komutuyla aşağıdaki gibi iletin:

 sudo chown 1000 Demo.txt 

Yukarıdaki komut 'Demo.txt' dosyasının sahipliğini değiştirecektir. Aşağıdaki çıktıyı göz önünde bulundurun:

2. çeyrek ne zaman başlıyor
Linux chown komutu

Dosyanın Grubunu Değiştirme

Bir dosyanın grubunu değiştirmek için chown komutuyla grup adını veya GID'yi belirtin. Chgrp komutuyla benzer davranışı temsil eder. Grup adını iki nokta üst üste ile ayırarak belirterek chown komutunu aşağıdaki gibi yürütün:

 sudo chown :groupname Demo.txt 

veya

 sudo chown :GID Demo.txt 

Aşağıdaki komutu göz önünde bulundurun:

 sudo chown :adm Demo.txt 

Yukarıdaki komut 'Demo.txt' grubunu değiştirecektir. Aşağıdaki çıktıyı göz önünde bulundurun:

Linux chown komutu

Yukarıdaki çıktıdan, ilk komuttaki grup adını kullanarak grubu değiştirdik. İkinci komutta GID'yi kullanarak grup adını değiştirdik.

Kullanıcı ve Grup Adını Değiştirme

Kullanıcı ve grup adlarını birlikte değiştirebiliriz. Kullanıcı ve grup adını aynı anda değiştirmek için chown komutunu aşağıdaki gibi yürütün:

 sudo chown : 

Aşağıdaki komutu göz önünde bulundurun:

 sudo chown jtp:adm Demo.txt 

Yukarıdaki komut belirtilen kullanıcı adını ve grup adını birlikte değiştirecektir. Aşağıdaki çıktıyı göz önünde bulundurun:

Linux chown komutu