Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020
İçindekiler:
- Linux Dosya İzinleri
chmodkullanma- Sembolik (Metin) Yöntem
- Sayısal Yöntem
- Referans Dosyası Kullanma
- Dosyanın İzinlerini Yinelenen Olarak Değiştirme
- Sembolik Bağlantılarda Çalışma
- Toplu Olarak Dosya İzinlerini Değiştirme
- Sonuç
Linux'ta, dosyalara erişim dosya izinleri, öznitelikler ve sahiplik aracılığıyla yönetilir. Bu, yalnızca yetkili kullanıcıların ve işlemlerin dosyalara ve dizinlere erişmesini sağlar.
Bu eğitici dosya ve dizinlerin erişim izinlerini değiştirmek için
chmod
komutunun nasıl kullanılacağını kapsar.
Linux Dosya İzinleri
Daha ileri gitmeden önce, temel Linux izin modelini açıklayalım.
Linux'ta her dosya bir sahip ve bir grupla ilişkilendirilir ve üç farklı kullanıcı sınıfı için izin erişim haklarıyla atanır:
- Dosya sahibi Grup üyeleri Diğerleri (diğer herkes).
Dosya sahipliği
chown
ve
chgrp
komutları kullanılarak
chgrp
.
Her sınıfa uygulanan üç dosya izin türü vardır:
- Okuma izni Yazma izni Yürütme izni.
Bu kavram, hangi kullanıcıların dosyayı okumaya, dosyaya yazmasına veya dosyayı yürütmesine izin verileceğini belirlemenizi sağlar.
Dosya izinleri
ls
komutu kullanılarak görüntülenebilir:
ls -l filename.txt
-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | | | | | | | | | | | +-----------> 7. Group | | | | | +-------------------> 6. Owner | | | | +--------------------------> 5. Alternate Access Method | | | +----------------------------> 4. Others Permissions | | +-------------------------------> 3. Group Permissions | +----------------------------------> 2. Owner Permissions +------------------------------------> 1. File Type
İlk karakter dosya türünü gösterir. Normal bir dosya (
-
), dizin (
d
), sembolik bir bağlantı (
l
) veya başka bir özel dosya türü olabilir.
Sonraki dokuz karakter, her biri üç karakterden oluşan üç üçüz olan dosya izinlerini temsil eder. İlk üçlü, sahip izinlerini, ikinci grup izinlerini ve son üçlü diğer herkesi gösterir. İzinlerin dosya türüne bağlı olarak farklı bir anlamı olabilir.
Yukarıdaki örnekte (
rw-r--r--
), dosya sahibinin okuma ve yazma izinlerine (
rw-
), grubun ve diğerlerinin yalnızca okuma izinlerine (
r--
) sahip olduğu anlamına gelir.
Üç izin üçlüsünün her biri aşağıdaki karakterlerden oluşturulabilir ve bir dosyaya veya dizine ayarlanmasına bağlı olarak farklı efektlere sahip olabilir:
İzinlerin Dosyalara Etkisi
| izin | Karakter | Dosyadaki Anlamı |
|---|---|---|
| Okuma |
-
|
Dosya okunamıyor. Dosya içeriğini görüntüleyemezsiniz. |
r
|
Dosya okunabilir. | |
| Yazmak |
-
|
Dosya değiştirilemez veya değiştirilemez. |
w
|
Dosya değiştirilebilir veya değiştirilebilir. | |
| gerçekleştirmek |
-
|
Dosya yürütülemiyor. |
x
|
Dosya yürütülebilir. | |
s
|
user
üçlüsünde bulunursa,
setuid
bitini ayarlar.
group
üçlüsünde bulunursa,
setgid
bitini ayarlar. Ayrıca
x
bayrağının ayarlandığı anlamına gelir.
|
|
S
|
S ile aynıdır ancak
x
bayrağı ayarlanmamıştır. Bu bayrak dosyalarda nadiren kullanılır. |
|
t
|
others
üçlüsünde bulunursa
sticky
bitini ayarlar.
Ayrıca
|
|
T
|
t
aynıdır ancak
x
bayrağı ayarlanmamıştır. Bu bayrak dosyalarda işe yaramaz. |
İzinlerin Dizinlere (Klasörler) Etkisi
Linux'ta Dizinler, diğer dosyaları ve dizinleri içeren özel dosya türleridir.
| izin | Karakter | Dizindeki Anlam |
|---|---|---|
| Okuma |
-
|
Dizinin içeriği gösterilemez. |
r
|
Dizinin içeriği gösterilebilir.
(örn. Dizin içindeki dosyaları
|
|
| Yazmak |
-
|
Dizinin içeriği değiştirilemez. |
w
|
Dizinin içeriği değiştirilebilir.
(örneğin, yeni dosyalar oluşturamazsınız, dosyaları silemezsiniz. vb.) |
|
| gerçekleştirmek |
-
|
Dizin olarak değiştirilemez. |
x
|
Dizin
cd
kullanılarak gezilebilir. |
|
s
|
user
üçlüsünde bulunursa,
setuid
bitini ayarlar.
group
üçlüsünde bulunursa
setgid
bitini ayarlar. Ayrıca
x
bayrağının ayarlandığı anlamına gelir.
setgid
bayrağı bir dizinde ayarlandığında, içinde oluşturulan yeni dosyalar, dosyayı oluşturan kullanıcının birincil grup kimliği yerine dizin grubu kimliğini (GID) devralır.
|
|
S
|
S ile aynıdır ancak
x
bayrağı ayarlanmamıştır. Bu bayrak dizinlerde işe yaramaz. |
|
t
|
others
üçlüsünde bulunursa
sticky
bitini ayarlar.
Ayrıca
|
|
T
|
t
aynıdır ancak
x
bayrağı ayarlanmamıştır. Bu bayrak dizinlerde işe yaramaz. |
chmod
kullanma
chmod
komutu aşağıdaki genel formu alır:
chmod MODE FILE…
chmod
komutu, bir dosyadaki izinleri sembolik veya sayısal mod veya referans dosyası kullanarak değiştirmenize olanak tanır. Modları daha sonra daha ayrıntılı olarak açıklayacağız. Komut boşlukla ayrılmış bir veya daha fazla dosyayı ve / veya dizini bağımsız değişken olarak kabul edebilir.
Yalnızca kök, dosya sahibi veya sudo ayrıcalıklarına sahip kullanıcı bir dosyanın izinlerini değiştirebilir.
chmod
kullanırken, özellikle izinleri yinelemeli olarak değiştirirken çok dikkatli olun.
Sembolik (Metin) Yöntem
Sembolik modu kullanırken
chmod
komutunun sözdizimi aşağıdaki biçime sahiptir:
chmod perms… FILE…
İlk bayraklar kümesi (
), kullanıcı bayrakları, dosya izinlerini hangi kullanıcıların sınıfta değiştirdiğini tanımlar.
-
u- Dosya sahibi.g- Grubun üyesi olan kullanıcılar.o- Diğer tüm kullanıcılar.a- Tüm kullanıcılar,ugoaynı.
Kullanıcı bayrağı atlanırsa, varsayılan bayrak
a
ve umask tarafından ayarlanan izinler etkilenmez.
İkinci bayrak kümesi (
), işlem bayrakları, izinlerin kaldırılması, eklenmesi veya ayarlanıp ayarlanmayacağını tanımlar:
-
-Belirtilen izinleri kaldırır.+Belirtilen izinleri ekler.=Geçerli izinleri belirtilen izinlerle değiştirir.=Sembolünden sonra hiçbir izin belirtilmezse, belirtilen kullanıcı sınıfından tüm izinler kaldırılır.
İzinler (
perms…
) şu harflerden sıfır veya bir veya daha fazlası kullanılarak açıkça ayarlanabilir:
r
,
w
,
x
,
X
,
s
ve
t
. İzinleri birinden başka bir kullanıcı sınıfına kopyalarken
u
,
g
ve
o
kümesindeki tek bir harfi kullanın.
Birden fazla kullanıcı sınıfı için izinler ayarlarken (
), sembolik modları ayırmak için virgül (boşluk kullanmadan) kullanın.
Aşağıda
chmod
komutunun sembolik modda nasıl kullanılacağına dair bazı örnekler verilmiştir:
-
Grubun üyelerine dosyayı okuma izni verin, ancak dosyayı yazmaya ve yürütmeye izin vermeyin:
chmod g=r filenameTüm kullanıcılar için yürütme iznini kaldırın:
chmod ax filenameDiğer kullanıcılar için yazma iznini iterek kaldırın:
chmod -R ow dirnameDosyanın sahibi dışındaki tüm kullanıcılar için okuma, yazma ve yürütme iznini kaldırın:
chmod og-rwx filenameAynı şey aşağıdaki form kullanılarak da gerçekleştirilebilir:
chmod og= filenameDosyanın sahibine okuma, yazma ve yürütme izni verin, dosya grubuna okuma izinleri verin ve diğer tüm kullanıcılara izin vermeyin:
chmod u=rwx, g=r, o= filenameDosyanın sahip izinlerini, dosya grubunun üyelerinin sahip olduğu izinlere ekleyin:
chmod g+u filenameBelirli bir dizine yapışkan bit ekleyin:
chmod o+t dirname
Sayısal Yöntem
Sayısal yöntem kullanılırken
chmod
komutunun sözdizimi aşağıdaki biçime sahiptir:
chmod NUMBER FILE…
Sayısal modu kullanırken, üç kullanıcı sınıfının (sahip, grup ve diğerleri) aynı anda izinlerini ayarlayabilirsiniz.
NUMBER
, 3 veya 4 basamaklı bir sayı olabilir.
3 basamaklı sayı kullanıldığında, ilk basamak dosyanın sahibinin, dosya grubunun ikincisinin ve sonuncusunun diğer tüm izinlerini temsil eder.
Her yazma, okuma ve yürütme izinleri aşağıdaki sayı değerine sahiptir:
-
r(okuma) = 4w(yazma) = 2x(yürütme) = 1 izin yok = 0
Belirli bir kullanıcı sınıfının izin sayısı, o grup için izinlerin değerlerinin toplamı ile temsil edilir.
Sayısal modda dosyanın izinlerini bulmak için tüm kullanıcı sınıflarının toplamlarını hesaplamanız yeterlidir. Örneğin, dosyanın sahibine okuma, yazma ve yürütme izni vermek için, dosya grubuna okuma ve yürütme izinlerini vermek ve yalnızca aşağıdakileri yapacağınız diğer tüm kullanıcılara okuma izinlerini vermek için:
- Sahip: rwx = 4 + 2 + 1 = 7Grup: rx = 4 + 0 + 1 = 5 Diğerleri: rx = 4 + 0 + 0 = 4
Yukarıdaki yöntemi kullanarak, istenen izinleri temsil eden
754
sayısına
754
.
setuid
,
setgid
ve
sticky bit
bayraklarını ayarlamak için dört basamaklı sayı kullanın.
4 basamaklı sayı kullanıldığında, ilk basamak aşağıdaki anlama gelir:
- setuid = 4setgid = 2 yapışkan = 1 değişiklik yok = 0
Sonraki üç basamak, 3 basamaklı sayı kullanıldığında aynı anlama gelir.
İlk basamak 0 ise, atlanabilir ve mod 3 basamakla temsil edilebilir.
0755
sayısal modu
755
aynıdır.
Sayısal modu hesaplamak için başka bir yöntem de (ikili yöntem) kullanabilirsiniz, ancak bu biraz daha karmaşıktır. 4, 2 ve 1 kullanarak sayısal modun nasıl hesaplanacağını bilmek çoğu kullanıcı için yeterlidir.
stat
komutunu kullanarak sayısal gösterimdeki dosyanın izinlerini kontrol edebilirsiniz:
stat -c "%a" filename
644
chmod
komutunun sayısal modda nasıl kullanılacağına dair bazı örnekler:
-
Dosyanın sahibine grup üyelerine ve diğer tüm kullanıcılara okuma ve yazma izinleri ve yalnızca okuma izinleri verin:
chmod 644 dirnameDosyanın sahibine izinleri okuma, yazma ve yürütme, grup üyelerine okuma ve yürütme izinleri verin ve diğer tüm kullanıcılara izin vermeyin:
chmod 750 dirnameBelirli bir dizine okuma, yazma ve yürütme izinleri ve yapışkan bir bit verin:
chmod 1777 dirnameDosya sahibinin okuma, yazma ve yürütme izinlerini yinelemeli olarak ayarlayın ve belirli bir dizindeki diğer tüm kullanıcılar için izin yok:
chmod -R 700 dirname
Referans Dosyası Kullanma
--reference=ref_file
seçeneği, dosyanın izinlerini belirtilen başvuru dosyası (
ref_file
) ile aynı olacak şekilde ayarlamanızı sağlar.
chmod --reference=REF_FILE FILE
Örneğin, aşağıdaki komut
file1
izinlerini
file1
atar
Dosyanın İzinlerini Yinelenen Olarak Değiştirme
Verilen dizinin altındaki tüm dosya ve dizinlerde özyinelemeli olarak çalışmak için
-R
(
--recursive
) seçeneğini kullanın:
chmod -R MODE DIRECTORY
Örneğin,
/var/www
dizini altındaki tüm dosya ve alt dizinlerin izinlerini
755
şunları kullanırsınız:
Sembolik Bağlantılarda Çalışma
Sembolik bağlantılar her zaman
777
izne sahiptir.
Varsayılan olarak, symlink'in izinlerini değiştirirken,
chmod
, bağlantının işaret ettiği dosyadaki izinleri değiştirir.
chmod 755 symlink
Muhtemelen, hedef sahipliği değiştirmek yerine “symlink” e erişemezsiniz: İzin reddedildi ”hatası alırsınız.
Hata, Linux dağıtımlarının çoğunda varsayılan olarak sembolik bağların korunduğu ve hedef dosyalar üzerinde çalışamayacağınız için oluşur. Bu seçenek
/proc/sys/fs/protected_symlinks
.
1
etkin ve
0
devre dışı demektir. Symlink korumasını devre dışı bırakmamanız önerilir.
Toplu Olarak Dosya İzinlerini Değiştirme
Bazen dosyaları ve dizin izinlerini toplu olarak değiştirmeniz gereken durumlar vardır.
En yaygın senaryo, web sitesi dosyasının izinlerini
644
ve yönetmenin izinlerini
755
olarak özyineli olarak değiştirmektir.
Sayısal yöntemi kullanarak:
find /var/www/my_website -type d -exec chmod 755 {} ;
find /var/www/my_website -type f -exec chmod 644 {} ;
Sembolik yöntemi kullanarak:
find /var/www/my_website -type d -exec chmod u=rwx, go=rx {} ;
find /var/www/my_website -type f -exec chmod u=rw, go=r {} ;
/var/www/my_website
komutu
/var/www/my_website
altındaki dosyaları ve dizinleri
/var/www/my_website
ve izinleri ayarlamak için bulunan her dosya ve dizini
chmod
komutuna
/var/www/my_website
.
Sonuç
chmod
komutu dosyanın izinlerini değiştirir. İzinler sembolik veya sayısal mod kullanılarak ayarlanabilir.
chmod
hakkında daha fazla bilgi edinmek için chmod man sayfasını ziyaret edin.
Windows 10 a1> Windows a1> a1> a1> Windows 10 Dosya a1> menüsüne dosya öznitelikleri ekleme seçeneği Dosya öznitelikleri seçenekleri nasıl ekleyeceğinizi öğrenin. Bağlam Menüsü ve Windows`ta içerik menüsünü kullanarak Dosya Özniteliklerini hızlı bir şekilde ayarlayın veya değiştirin.
Bazen
Windows`ta Dosya veya Klasör İzinleri Değiştirilemiyor
Windows 10 / 8`de Dosya veya Klasör İzinlerini değiştiremiyorsanız veya değiştiremiyorsanız / 7 / Vista, bu sorunu gidermek ve bu sorunun üstesinden gelmek için bu yazıyı okuyun.
Linux'ta Fsck Komutu (Onarım Dosya Sistemi)
fsck (dosya sistemi denetimi), bir veya daha fazla Linux dosya sisteminde tutarlılık denetimleri ve etkileşimli onarımlar gerçekleştirmenizi sağlayan bir komut satırı yardımcı programıdır.







