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.