Linux'ta Dosyaları Tartma, Dosya İzinlerini Ayarlama ve Dosya Bulma


Yakın zamanda Linux Foundation, amacı bireylerin Linux sistemlerinde temel ve orta düzey sistem yönetimi görevlerini gerçekleştirmesine olanak tanımak olan yepyeni bir program olan LFCS (Linux Foundation Certified Sysadmin) sertifikasyonunu başlattı.

Bu, halihazırda çalışan sistemlerin ve hizmetlerin desteklenmesinin yanı sıra birinci düzey sorun giderme ve analizin yanı sıra sorunların mühendislik ekiplerine ne zaman iletileceğine karar verme yeteneğini de içerir.

Serinin başlığı LFCS (Linux Foundation Sertifikalı Sistem Yöneticisi) 1'den 33'e kadar Bölümlere Hazırlık olacak ve aşağıdaki konuları kapsayacak:

Part 1

Linux'ta Dosyaları İşlemek için 'Sed' Komutu Nasıl Kullanılır

Part 2

Linux'ta Vi/Vim Nasıl Kurulur ve Kullanılır

Part 3

Linux'ta Dosyaları Arşivleme, Dosya İzinlerini Ayarlama ve Dosya Bulma

Part 4

Depolama Aygıtlarını Bölümlendirme, Dosya Sistemlerini Biçimlendirme ve Takas Bölümünü Yapılandırma

Part 5

Linux'ta Yerel ve Ağ (Samba ve NFS) Dosya Sistemlerini Bağlama/Çıkarma

Part 6

Bölümleri RAID Aygıtları Olarak Birleştirme – Sistem Yedeklemeleri Oluşturma ve Yönetme

Part 7

Sistem Başlatma Süreçlerini ve Hizmetlerini Yönetme (SysVinit, Systemd ve Upstart)

Part 8

Kullanıcı ve Gruplar, Dosya İzinleri ve Sudo Erişimi Nasıl Yönetilir

Part 9

Yum, RPM, Apt, Dpkg, Aptitude ve Zypper ile Linux Paket Yönetimi

Part 10

Temel Kabuk Komut Dosyalarını ve Dosya Sistemi Sorunlarını Gidermeyi Öğrenme

Part 11

Vgcreate, lvcreate ve lvextend Komutlarını Kullanarak LVM Nasıl Yönetilir ve Oluşturulur

Part 12

Yüklü Yardım Belgeleri ve Araçlarla Linux Nasıl Keşfedilir?

Part 13

Grand Unified Bootloader (GRUB) Nasıl Yapılandırılır ve Sorun Giderilir

Part 14

Linux Süreçlerinin Kaynak Kullanımını İzleyin ve Kullanıcı Bazında Süreç Sınırlarını Belirleyin

Part 15

Linux Sistemlerinde Çekirdek Çalışma Zamanı Parametreleri Nasıl Ayarlanır veya Değiştirilir

Part 16

Linux'ta SELinux veya AppArmor ile Zorunlu Erişim Denetiminin Uygulanması

Part 17

Kullanıcılar ve Gruplar için Erişim Kontrol Listeleri (ACL'ler) ve Disk Kotaları Nasıl Ayarlanır?

Part 18

Ağ Hizmetlerini Yükleme ve Önyükleme Sırasında Otomatik Başlatmayı Yapılandırma

Part 19

Anonim Oturum Açmalara İzin Verecek FTP Sunucusunu Ayarlamaya Yönelik Temel Kılavuz

Part 20

Temel Özyinelemeli Önbelleğe Alma DNS Sunucusu Kurulumu ve Etki Alanı için Bölgeleri Yapılandırma

Part 21

MariaDB Veritabanı Sunucusunun Kurulumu, Güvenliği ve Performans Ayarlaması Nasıl Yapılır

Part 22

Dosya Sistemi Paylaşımı için NFS Sunucusu Nasıl Kurulur ve Yapılandırılır

Part 23

SSL Sertifikalı İsme Dayalı Sanal Barındırma ile Apache Nasıl Kurulur

Part 24

Linux'ta Hizmetlere Uzaktan Erişimi Etkinleştirmek için Iptables Güvenlik Duvarı Nasıl Kurulur

Part 25

Trafiği Statik ve Dinamik Olarak Yönetmek için Linux'u Yönlendiriciye Dönüştürme

Part 26

Şifrelenmiş Dosya Sistemlerini Kurma ve Cryptsetup Aracını Kullanarak Değiştirme

Part 27

Sistem Kullanımı, Kesintiler Nasıl İzlenir ve Linux Sunucularındaki Sorunlar Nasıl Giderilir

Part 28

Paketleri Kurmak veya Güncellemek İçin Ağ Havuzu Nasıl Kurulur

Part 29

Ağ Performansı, Güvenliği ve Sorun Giderme Nasıl Denetlenir

Part 30

Sanal Makineler ve Konteynerler Nasıl Kurulur ve Yönetilir

Part 31

Projeleri Verimli Bir Şekilde Yönetmek için Git'in Temellerini Öğrenin

Part 32

Linux'ta IPv4 ve IPv6 Adreslerini Yapılandırmaya Yeni Başlayanlar Kılavuzu

Part 33

Ubuntu'da Ağ Bağlantısı ve Köprü Oluşturma İçin Yeni Başlayanlar Kılavuzu

Bu gönderi, 33 dersten oluşan bir serinin 3. Bölümüdür; bu bölümde, LFCS< için gerekli olan dosyaları ve dizinleri nasıl arşivleyeceğinizi/sıkıştıracağınızı, dosya özniteliklerini nasıl ayarlayacağınızı ve dosya sistemindeki dosyaları nasıl bulacağınızı ele alacağız. sertifika sınavı.

Linux için Arşivleme ve Sıkıştırma Araçları

Bir dosya arşivleme aracı, bir grup dosyayı çeşitli medya türlerine yedekleyebileceğimiz, ağ üzerinden aktarabileceğimiz veya e-postayla gönderebileceğimiz tek bir bağımsız dosyada gruplandırır.

Linux'ta en sık kullanılan arşivleme aracı tar komutudur. Bir arşivleme yardımcı programı bir sıkıştırma aracıyla birlikte kullanıldığında, aynı dosyaları ve bilgileri depolamak için gereken disk boyutunun azaltılmasına olanak tanır.

Linux tar Yardımcı Programı

tar, bir grup dosyayı tek bir arşivde bir araya getirir (genellikle tar dosyası veya tarball olarak adlandırılır). Bu isim başlangıçta bant arşivleyici anlamına geliyordu, ancak bu aracı verileri her türlü yazılabilir ortama (yalnızca bantlara değil) arşivlemek için kullanabileceğimizi unutmamalıyız.

Tar, sıkıştırılmış bir tar dosyası oluşturmak için normalde gzip, bzip2 veya xz gibi bir sıkıştırma aracıyla birlikte kullanılır.

tar komutunun temel sözdizimi aşağıdaki gibidir:

tar [options] [pathname ...]

Burada ..., hangi dosyalara göre işlem yapılması gerektiğini belirtmek için kullanılan ifadeyi temsil eder.

En Yaygın Kullanılan Tar Komutları

Long option Abbreviation Description
 –create  c  Creates a tar archive
 –concatenate  A  Appends tar files to an archive
 –append  r  Appends files to the end of an archive
 –update  u  Appends files newer than copy in archive
 –diff or –compare  d  Find differences between archive and file system
 –file archive  f  Use archive file or device ARCHIVE
 –list  t  Lists the contents of a tarball
 –extract or –get  x  Extracts files from an archive

Normalde Kullanılan tar İşlemi Değiştiricileri

Long option Abbreviation Description
 –directory dir  C  Changes to directory dir before performing operations
 –same-permissions  p  Preserves original permissions
 –verbose  v  Lists all files read or extracted. When this flag is used along with –list, the file sizes, ownership, and time stamps are displayed.
 –verify  W  Verifies the archive after writing it
 –exclude file  —  Excludes files from the archive
 –exclude=pattern  X  Exclude files, given as a PATTERN
 –gzip or –gunzip  z  Processes an archive through Gzip
 –bzip2  j  Processes an archive through bzip2
 –xz  J  Processes an archive through xz

Linux Gzip, Bzip2 ve Xz Yardımcı Programları

Gzip en eski sıkıştırma aracıdır ve en az sıkıştırmayı sağlarken bzip2 gelişmiş sıkıştırma sağlar. Ayrıca, xz en yenisidir ancak (genellikle) en iyi sıkıştırmayı sağlar.

En iyi sıkıştırmanın avantajlarının bir bedeli vardır: işlemi tamamlamak için gereken süre ve işlem sırasında kullanılan sistem kaynakları.

Normalde, bu yardımcı programlarla sıkıştırılan tar dosyaları sırasıyla .gz, .bz2 veya .xz uzantılarına sahiptir. Aşağıdaki örneklerde şu dosyaları kullanacağız: dosya1, dosya2, dosya3, dosya4 ve < Strong>dosya5.

Dosyaları gzip, bzip2 ve xz ile Sıkıştırmak

Geçerli çalışma dizinindeki tüm dosyaları gruplayın ve elde edilen paketi gzip, bzip2 ve xz ile sıkıştırın (lütfen normal Pakete hangi dosyaların dahil edilmesi gerektiğini belirten ifade; bunun amacı arşivleme aracının önceki adımlarda oluşturulan tarball'ları gruplamasını önlemektir).

tar czf myfiles.tar.gz file[0-9]
tar cjf myfiles.tar.bz2 file[0-9]
tar cJf myfile.tar.xz file[0-9]

İçerikleri Listeleme ve Dosyaları Güncelleme/Ekleme Tar Arşivi

Bir tarball'ın içeriğini listeleyin ve uzun bir dizin listesiyle aynı bilgileri görüntüleyin. Güncelleme veya ekleme işlemlerinin sıkıştırılmış dosyalara doğrudan uygulanamayacağını unutmayın.

Tar Dosyalarının Sıkıştırmasını Aç

Sıkıştırılmış bir tarball'a bir dosyayı güncellemeniz veya eklemeniz gerekiyorsa, tar dosyasının sıkıştırmasını açmanız, güncellemeniz/eklemeniz ve ardından tekrar sıkıştırmanız gerekir.

tar tvf [tarball]

Aşağıdaki komutlardan herhangi birini çalıştırın:

gzip -d myfiles.tar.gz	[#1] 
bzip2 -d myfiles.tar.bz2	[#2] 
xz -d myfiles.tar.xz 		[#3] 

Tar Arşivine Dosya Silme veya Ekleme

tar --delete --file myfiles.tar file4 (deletes the file inside the tarball)
tar --update --file myfiles.tar file4 (adds the updated file)

Ve

gzip myfiles.tar		[ if you choose #1 above ]
bzip2 myfiles.tar		[ if you choose #2 above ]
xz myfiles.tar 		[ if you choose #3 above ]

Nihayet,

tar tvf [tarball] #again

ve dosya4'ün değişiklik tarihini ve saatini daha önce gösterilenle aynı bilgilerle karşılaştırın.

Dosyaları Yedeklemelerin Dışında Tut

Kullanıcının ana dizinlerinin yedeğini almak istediğinizi varsayalım. İyi bir sistem yöneticisi uygulaması, tüm video ve ses dosyalarını yedeklemelerin dışında tutmaktır (şirket politikaları tarafından da belirtilebilir).

Belki de ilk yaklaşımınız .mp3 veya .mp4 uzantılı (veya diğer uzantılara sahip) tüm dosyaları yedeklemenin dışında bırakmak olabilir. Uzantıyı .txt veya .bkp olarak değiştirebilecek akıllı bir kullanıcınız varsa, yaklaşımınız size pek bir fayda sağlamayacaktır.

Bir ses veya video dosyasını tespit etmek için dosya türünü bir dosyayla kontrol etmeniz gerekir. Aşağıdaki kabuk betiği işi yapacak.

#!/bin/bash
Pass the directory to backup as first argument.
DIR=$1
Create the tarball and compress it. Exclude files with the MPEG string in its file type.
-If the file type contains the string mpeg, $? (the exit status of the most recently executed command) expands to 0, and the filename is redirected to the exclude option. Otherwise, it expands to 1.
-If $? equals 0, add the file to the list of files to be backed up.
tar X <(for i in $DIR/*; do file $i | grep -i mpeg; if [ $? -eq 0 ]; then echo $i; fi;done) -cjf backupfile.tar.bz2 $DIR/*

Katran Koruma İzinleriyle Yedeklemeyi Geri Yükle

Daha sonra aşağıdaki komutu kullanarak, izinleri koruyarak yedeği orijinal kullanıcının ana dizinine (bu örnekte user_restore) geri yükleyebilirsiniz.

tar xjf backupfile.tar.bz2 --directory user_restore --same-permissions

Dosyaları Aramak İçin Bul Komutunu Kullanma

Find komutu, belirli özelliklerle eşleşen dosya veya dizinleri dizin ağaçlarında yinelemeli olarak aramak için kullanılır ve daha sonra eşleşen dosyaları veya dizinleri yazdırabilir veya eşleşmeler üzerinde başka işlemler gerçekleştirebilir.

Normalde ada, sahipe, gruba, türe, izinlere, tarihe ve boyuta göre arama yaparız.

Bul komutunun temel sözdizimi aşağıdaki gibidir:

find [directory_to_search] [expression]

Dosyaları Boyutuna Göre Yinelemeli Bulma

Geçerli dizindeki (.) ve aşağıdaki 2 alt dizinindeki (-maxlength 3) tüm dosyaları (-f) bulun boyutu (-size) 2 MB'tan büyük olan geçerli çalışma dizinini ve 2 seviye aşağısını içerir.

find . -maxdepth 3 -type f -size +2M

Belirli Kriterlere Uygun Dosyaları Bulma ve Silme

777 izinlerine sahip dosyalar bazen harici saldırganlara açık bir kapı olarak değerlendirilir. Her iki durumda da, herhangi birinin dosyalarla herhangi bir şey yapmasına izin vermek güvenli değildir. Oldukça agresif bir yaklaşım sergileyeceğiz ve bunları sileceğiz! ('{' +, arama sonuçlarını “toplamak” için kullanılır).

find /home/user -perm 777 -exec rm '{}' +

Dosyaları Zaman Damgalarına Göre Bulma

/etc dosyasında erişilen (-atime) veya değiştirilen (-mtime) daha fazla (+180<) yapılandırma dosyalarını arayın.) veya 6 ay öncesinden daha az (-180) veya tam olarak 6 ay öncesinden (180) .

Aşağıdaki komutu aşağıdaki örneğe göre değiştirin:

find /etc -iname "*.conf" -mtime -180 -print

Dosya İzinlerini ve Temel Nitelikleri Ayarlayın

ls -l çıktısındaki ilk 10 karakter dosya nitelikleridir. Bu karakterlerden ilki dosya türünü belirtmek için kullanılır:

  • - : normal bir dosya
  • -d : bir dizin
  • -l : sembolik bir bağlantı
  • -c : bir karakter cihazı (verileri bir bayt akışı, yani bir terminal olarak ele alır)
  • -b : bir blok cihazı (bloklardaki verileri, yani depolama cihazlarını işleyen)

Dosya niteliklerinin sonraki dokuz karakterine dosya modu adı verilir ve okuma (r), yazma (w) ve yürütmeyi (x ) temsil eder ) dosya sahibinin, dosyanın grup sahibinin ve diğer kullanıcıların (genellikle "dünya" olarak anılır) izinleri.

Bir dosyadaki okuma izni aynı şeyin açılmasına ve okunmasına izin verirken, bir dizindeki aynı izin, yürütme izninin de ayarlanması durumunda içeriğinin listelenmesine izin verir. Ek olarak, bir dosyadaki yürütme izni, onun bir program olarak işlenmesine ve çalıştırılmasına izin verirken, bir dizinde aynı şeyin ona cd'lenmesine izin verir.

Dosya izinleri, temel sözdizimi aşağıdaki gibi olan chmod komutuyla değiştirilir:

chmod [new_mode] file

Burada yeni_mode ya bir sekizlik sayıdır ya da yeni izinleri belirten bir ifadedir.

Sekizli sayı, sahip, grup ve dünya için istenen dosya izinlerinden hesaplanan ikili eşdeğerinden aşağıdaki şekilde dönüştürülebilir:

Belirli bir iznin varlığı 2'nin kuvvetine eşittir (r=22, w=21, x=20) ), yokluğu ise 0'a eşittir. Örneğin:

Dosyanın izinlerini yukarıdaki gibi sekizlik biçimde ayarlamak için şunu yazın:

chmod 744 myfile

Dosyanın modunu, u harfiyle, grup sahibinin haklarını g harfiyle ve geri kalanını harfiyle belirten bir ifade kullanarak da ayarlayabilirsiniz. o.

Bu “bireylerin” hepsi aynı anda a harfiyle temsil edilebilir. İzinler sırasıyla + veya - işaretleriyle verilir (veya iptal edilir).

Bir Komut Dosyasındaki Yürütme İznini Tüm Kullanıcılara Kaldırma

Daha önce açıkladığımız gibi, belirli bir iznin başına eksi işareti koyarak ve bu iznin sahibi, grup sahibi veya tüm kullanıcılar için iptal edilmesi gerekip gerekmediğini belirterek iptal edebiliriz. Aşağıdaki tek satırlık satır şu şekilde yorumlanabilir: Tüm (a) kullanıcılar için modu değiştirin, (-) yürütme iznini iptal edin (x) .

chmod a-x backup.sh

Bir dosyanın sahibine ve grup sahibine okuma, yazma ve yürütme izinleri ve tüm dünya için okuma izinleri verme.

Bir dosyanın izinlerini ayarlamak için 3 basamaklı sekizlik bir sayı kullandığımızda, ilk basamak dosya sahibinin izinlerini, ikinci basamak grup sahibini ve üçüncü basamak ise diğer herkesin izinlerini gösterir:

  • Sahip: (r=22 + w=21 + x=20=7)
  • Grup sahibi: (r=22 + w=21 + x=20=7)
  • Dünya: (r=22 + w=0 + x=0=4),
chmod 774 myfile

Zamanla ve pratik yaparak, dosya modunu değiştirmek için hangi yöntemin sizin için en uygun olduğuna karar verebileceksiniz. Uzun bir dizin listesi aynı zamanda dosyanın sahibini ve grup sahibini de gösterir (bunlar, sistemdeki dosyalara basit ancak etkili bir erişim kontrolü görevi görür):

Chown komutu ile dosya sahipliği değiştirilir. Sahip ve grup sahibi aynı anda veya ayrı ayrı değiştirilebilir. Temel sözdizimi aşağıdaki gibidir:

chown user:group file

En azından bir kullanıcının veya grubun bulunmasının gerektiği yer.

Chown Komut Örnekleri

Bir dosyanın sahibini belirli bir kullanıcıya değiştirmek.

chown gacanepa sent

Bir dosyanın sahibini ve grubunu belirli bir kullanıcı:grup çiftiyle değiştirme.

chown gacanepa:gacanepa TestFile

Bir dosyanın yalnızca grup sahibini belirli bir gruba değiştirme. Grubun adının önündeki iki nokta üst üste işaretine dikkat edin.

chown :gacanepa email_body.txt
Çözüm

Bir sistem yöneticisi olarak, yedeklemeleri nasıl oluşturacağınızı ve geri yükleyeceğinizi, sisteminizdeki dosyaları nasıl bulacağınızı ve bunların niteliklerini nasıl değiştireceğinizi, ayrıca hayatınızı kolaylaştıracak ve gelecekte sorunlarla karşılaşmanızı önleyecek birkaç püf noktasını bilmeniz gerekir.

Bu makalede sunulan ipuçlarının bu hedefe ulaşmanıza yardımcı olacağını umuyorum. Topluluğun yararına yorum bölümüne kendi bilgi ve fikirlerinizi eklemekten çekinmeyin. Şimdiden teşekkürler!

LFCS e-Kitabı artık satın alınabilir. Kopyanızı bugün sipariş edin ve sertifikalı bir Linux sistem yöneticisi olma yolculuğunuza başlayın!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Son olarak, lütfen bize küçük bir komisyon kazandırmak için aşağıdaki bağlantıları kullanarak sınav kuponunuzu satın almayı düşünün; bu, bu kitabı güncel tutmamıza yardımcı olacaktır.