Cara Menar File, Mengatur Izin File, dan Menemukan File di Linux


Baru-baru ini, Linux Foundation memulai sertifikasi LFCS (Linux Foundation Certified Sysadmin), sebuah program baru yang bertujuan untuk memungkinkan individu melakukan tugas administrasi sistem dasar hingga menengah pada sistem Linux.

Hal ini mencakup dukungan terhadap sistem dan layanan yang sudah berjalan, serta pemecahan masalah dan analisis tingkat pertama, ditambah kemampuan untuk memutuskan kapan harus meneruskan masalah ke tim teknis.

Seri ini akan diberi judul Persiapan untuk LFCS (Linux Foundation Certified Sysadmin) Bagian 1 hingga 33 dan mencakup topik-topik berikut:

Part 1

Cara Menggunakan Perintah 'Sed' untuk Memanipulasi File di Linux

Part 2

Cara Menginstal dan Menggunakan Vi/Vim di Linux

Part 3

Cara Mengarsipkan File, Mengatur Izin File, dan Menemukan File di Linux

Part 4

Mempartisi Perangkat Penyimpanan, Memformat Sistem File, dan Mengonfigurasi Partisi Swap

Part 5

Pasang/Lepas Sistem File Lokal dan Jaringan (Samba & NFS) di Linux

Part 6

Merakit Partisi sebagai Perangkat RAID – Membuat & Mengelola Cadangan Sistem

Part 7

Mengelola Proses dan Layanan Startup Sistem (SysVinit, Systemd, dan Upstart

Part 8

Cara Mengelola Pengguna & Grup, Izin File, dan Akses Sudo

Part 9

Manajemen Paket Linux dengan Yum, RPM, Apt, Dpkg, Aptitude, dan Zypper

Part 10

Mempelajari Skrip Shell Dasar dan Pemecahan Masalah Sistem File

Part 11

Cara Mengelola dan Membuat LVM Menggunakan Perintah vgcreate, lvcreate, dan lvextend

Part 12

Cara Menjelajah Linux dengan Dokumentasi dan Alat Bantuan yang Terinstal

Part 13

Cara Mengonfigurasi dan Memecahkan Masalah Grand Unified Bootloader (GRUB)

Part 14

Pantau Penggunaan Sumber Daya Proses Linux dan Tetapkan Batas Proses Berdasarkan Per Pengguna

Part 15

Cara Mengatur atau Memodifikasi Parameter Runtime Kernel di Sistem Linux

Part 16

Menerapkan Kontrol Akses Wajib dengan SELinux atau AppArmor di Linux

Part 17

Cara Mengatur Access Control List (ACL) dan Kuota Disk untuk Pengguna dan Grup

Part 18

Menginstal Layanan Jaringan dan Mengonfigurasi Startup Otomatis saat Boot

Part 19

Panduan Utama untuk Menyiapkan Server FTP untuk Mengizinkan Login Anonim

Part 20

Siapkan Server DNS Caching Rekursif Dasar dan Konfigurasikan Zona untuk Domain

Part 21

Cara Memasang, Mengamankan, dan Menyetel Kinerja Server Database MariaDB

Part 22

Cara Menginstal dan Mengonfigurasi Server NFS untuk Berbagi Sistem File

Part 23

Cara Setup Apache dengan Virtual Hosting Berbasis Nama dengan Sertifikat SSL

Part 24

Cara Mengatur Firewall Iptables untuk Mengaktifkan Akses Jarak Jauh ke Layanan di Linux

Part 25

Cara Mengubah Linux menjadi Router untuk Menangani Lalu Lintas Secara Statis dan Dinamis

Part 26

Cara Mengatur Sistem File Terenkripsi dan Menukar Menggunakan Alat Cryptsetup

Part 27

Cara Memantau Penggunaan Sistem, Pemadaman, dan Memecahkan Masalah Server Linux

Part 28

Cara Mengatur Repositori Jaringan untuk Menginstal atau Memperbarui Paket

Part 29

Cara Mengaudit Kinerja Jaringan, Keamanan, dan Pemecahan Masalah

Part 30

Cara Memasang dan Mengelola Mesin dan Kontainer Virtual

Part 31

Pelajari Dasar-dasar Git untuk Mengelola Proyek Secara Efisien

Part 32

Panduan Pemula untuk Mengonfigurasi Alamat IPv4 dan IPv6 di Linux

Part 33

Panduan Pemula untuk Membuat Ikatan dan Menjembatani Jaringan di Ubuntu

Posting ini adalah Bagian 3 dari 33 seri tutorial, di sini, di bagian ini, kita akan membahas cara mengarsipkan/mengompresi file dan direktori, mengatur atribut file, dan menemukan file di sistem file, yang diperlukan untuk LFCS< ujian sertifikasi.

Alat Pengarsipan dan Kompresi untuk Linux

Alat pengarsipan file mengelompokkan sekumpulan file ke dalam satu file mandiri yang dapat kita cadangkan ke beberapa jenis media, ditransfer melalui jaringan, atau dikirim melalui email.

Utilitas pengarsipan yang paling sering digunakan di Linux adalah perintah tar. Ketika utilitas pengarsipan digunakan bersama dengan alat kompresi, hal ini memungkinkan untuk mengurangi ukuran disk yang diperlukan untuk menyimpan file dan informasi yang sama.

Utilitas tar Linux

tar menggabungkan sekelompok file menjadi satu arsip (biasa disebut file tar atau tarball). Nama awalnya adalah singkatan dari tape archiver, namun kita harus mencatat bahwa kita dapat menggunakan alat ini untuk mengarsipkan data ke segala jenis media yang dapat ditulisi (tidak hanya ke tape).

Tar biasanya digunakan dengan alat kompresi seperti gzip, bzip2, atau xz untuk menghasilkan tarball terkompresi.

Sintaks dasar dari perintah tar adalah sebagai berikut:

tar [options] [pathname ...]

Dimana ... mewakili ekspresi yang digunakan untuk menentukan file mana yang harus ditindaklanjuti.

Perintah Tar yang Paling Umum Digunakan

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

Pengubah Operasi tar yang Biasanya Digunakan

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

Utilitas Linux Gzip, Bzip2, dan Xz

Gzip adalah alat kompresi tertua dan memberikan kompresi paling sedikit, sedangkan bzip2 memberikan kompresi yang lebih baik. Selain itu, xz adalah yang terbaru tetapi (biasanya) memberikan kompresi terbaik.

Keuntungan kompresi terbaik ada harganya: waktu yang dibutuhkan untuk menyelesaikan operasi, dan sumber daya sistem yang digunakan selama proses tersebut.

Biasanya, file tar yang dikompresi dengan utilitas ini masing-masing memiliki ekstensi .gz, .bz2, atau .xz. Pada contoh berikut, kita akan menggunakan file berikut: file1, file2, file3, file4, dan < kuat>file5.

Mengompresi File dengan gzip, bzip2 dan xz

Kelompokkan semua file dalam direktori kerja saat ini dan kompres bundel yang dihasilkan dengan gzip, bzip2, dan xz (harap perhatikan penggunaan biasa ekspresi untuk menentukan file mana yang harus disertakan dalam bundel – ini untuk mencegah alat pengarsipan mengelompokkan tarball yang dibuat pada langkah sebelumnya).

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

Daftar Isi dan Memperbarui/Menambahkan File Arsip Tar

Buat daftar isi tarball dan tampilkan informasi yang sama seperti daftar direktori panjang. Perhatikan bahwa operasi perbarui atau tambahkan tidak dapat diterapkan ke file terkompresi secara langsung.

Dekompresi File Tar

Jika Anda perlu memperbarui atau menambahkan file ke tarball terkompresi, Anda perlu membuka kompresi file tar dan memperbarui/menambahkannya, lalu mengompresnya lagi.

tar tvf [tarball]

Jalankan salah satu perintah berikut:

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

Hapus atau Tambahkan File ke Arsip Tar

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

Dan

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

Akhirnya,

tar tvf [tarball] #again

dan bandingkan tanggal dan waktu modifikasi file4 dengan informasi yang sama seperti yang ditunjukkan sebelumnya.

Kecualikan File dari Cadangan

Misalkan Anda ingin melakukan pencadangan direktori home pengguna. Praktik sysadmin yang baik adalah (mungkin juga ditentukan oleh kebijakan perusahaan) dengan mengecualikan semua file video dan audio dari cadangan.

Mungkin pendekatan pertama Anda adalah mengecualikan semua file dengan ekstensi .mp3 atau .mp4 (atau ekstensi lainnya) dari cadangan. Bagaimana jika Anda memiliki pengguna pintar yang dapat mengubah ekstensi menjadi .txt atau .bkp, pendekatan Anda tidak akan banyak membantu Anda.

Untuk mendeteksi file audio atau video, Anda perlu memeriksa jenis filenya dengan file. Skrip shell berikut akan melakukan pekerjaan itu.

#!/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/*

Pulihkan Cadangan dengan Izin Pelestarian Tar

Anda kemudian dapat memulihkan cadangan ke direktori home pengguna asli (user_restore dalam contoh ini), dengan tetap mempertahankan izin, dengan perintah berikut.

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

Menggunakan Perintah Temukan untuk Mencari File

Perintah find digunakan untuk mencari secara rekursif melalui pohon direktori untuk file atau direktori yang cocok dengan karakteristik tertentu, dan kemudian dapat mencetak file atau direktori yang cocok atau melakukan operasi lain pada kecocokan tersebut.

Biasanya, kami akan mencari berdasarkan nama, pemilik, grup, jenis, izin, tanggal, dan ukuran.

Sintaks dasar dari perintah find adalah sebagai berikut:

find [directory_to_search] [expression]

Menemukan File Secara Rekursif Menurut Ukuran

Temukan semua file (-f) di direktori saat ini (.) dan subdirektori 2 di bawah (-max depth 3 mencakup direktori kerja saat ini dan 2 tingkat ke bawah) yang ukurannya (-size) lebih besar dari 2 MB.

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

Menemukan dan Menghapus File yang Sesuai dengan Kriteria Tertentu

File dengan izin 777 terkadang dianggap sebagai pintu terbuka bagi penyerang eksternal. Apa pun yang terjadi, tidak aman membiarkan siapa pun melakukan apa pun dengan file. Kami akan mengambil pendekatan yang agak agresif dan menghapusnya! ('{}' + digunakan untuk “mengumpulkan ” hasil pencarian).

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

Menemukan File Berdasarkan Stempel Waktu

Cari file konfigurasi di /etc yang telah diakses (-atime) atau dimodifikasi (-mtime) lebih lanjut (+180) atau kurang (-180) dari 6 bulan lalu atau tepat 6 bulan lalu (180) .

Ubah perintah berikut sesuai contoh di bawah ini:

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

Tetapkan Izin File dan Atribut Dasar

10 karakter pertama dalam keluaran ls -l adalah atribut file. Karakter pertama digunakan untuk menunjukkan jenis file:

  • - : file biasa
  • -d : direktori
  • -l : tautan simbolik
  • -c : perangkat karakter (yang memperlakukan data sebagai aliran byte, yaitu terminal)
  • -b : perangkat blok (yang menangani data dalam blok, yaitu perangkat penyimpanan)

Sembilan karakter berikutnya dari atribut file disebut mode file dan mewakili proses baca (r), tulis (w), dan eksekusi (x) izin dari pemilik file, pemilik grup file, dan pengguna lainnya (biasanya disebut sebagai “dunia”).

Meskipun izin baca pada suatu file memungkinkan file tersebut dibuka dan dibaca, izin yang sama pada direktori memungkinkan isinya dicantumkan jika izin eksekusi juga ditetapkan. Selain itu, izin eksekusi dalam sebuah file memungkinkannya untuk ditangani sebagai sebuah program dan dijalankan, sementara dalam sebuah direktori memungkinkan hal yang sama untuk di-cd ke dalamnya.

Izin file diubah dengan perintah chmod, yang sintaks dasarnya adalah sebagai berikut:

chmod [new_mode] file

Dimana new_mode adalah angka oktal atau ekspresi yang menentukan izin baru.

Bilangan oktal dapat dikonversi dari padanan binernya, yang dihitung dari izin file yang diinginkan untuk pemilik, grup, dan dunia, sebagai berikut:

Kehadiran izin tertentu sama dengan pangkat 2 (r=22, w=21, x=20 ), sedangkan ketidakhadirannya sama dengan 0. Misalnya:

Untuk mengatur hak akses file seperti di atas dalam bentuk oktal, ketik:

chmod 744 myfile

Anda juga dapat mengatur mode file menggunakan ekspresi yang menunjukkan hak pemilik dengan huruf u, hak pemilik grup dengan huruf g, dan sisanya dengan o.

Semua “individu” ini dapat diwakili secara bersamaan dengan huruf a. Izin diberikan (atau dicabut) masing-masing dengan tanda + atau -.

Hapus Izin Eksekusi Pada Skrip untuk Semua Pengguna

Seperti yang telah kami jelaskan sebelumnya, kami dapat mencabut izin tertentu dengan mengawalinya dengan tanda minus dan menunjukkan apakah izin tersebut perlu dicabut untuk pemilik, pemilik grup, atau semua pengguna. One-liner di bawah ini dapat diartikan sebagai berikut: Ubah mode untuk semua (a) pengguna, cabut (-) izin eksekusi (x) .

chmod a-x backup.sh

Memberikan izin baca, tulis, dan eksekusi suatu file kepada pemilik dan pemilik grup, serta izin membaca untuk dunia.

Saat kita menggunakan 3 digit angka oktal untuk mengatur izin suatu file, digit pertama menunjukkan izin pemiliknya, digit kedua untuk pemilik grup, dan digit ketiga untuk semua orang lainnya:

  • Pemilik: (r=22 + w=21 + x=20=7)
  • Pemilik grup: (r=22 + w=21 + x=20=7)
  • Dunia: (r=22 + w=0 + x=0=4),
chmod 774 myfile

Pada waktunya, dan dengan latihan, Anda akan dapat memutuskan metode mana untuk mengubah mode file yang paling sesuai untuk Anda dalam setiap kasus. Daftar direktori yang panjang juga menunjukkan pemilik file dan pemilik grupnya (yang berfungsi sebagai kontrol akses dasar namun efektif ke file dalam sistem):

Kepemilikan file diubah dengan perintah chown. Pemilik dan pemilik grup dapat diubah secara bersamaan atau terpisah. Sintaks dasarnya adalah sebagai berikut:

chown user:group file

Dimana setidaknya pengguna atau grup harus hadir.

Contoh Perintah Chown

Mengubah pemilik file menjadi pengguna tertentu.

chown gacanepa sent

Mengubah pemilik dan grup file menjadi pasangan pengguna:grup tertentu.

chown gacanepa:gacanepa TestFile

Mengubah hanya grup pemilik suatu file menjadi grup tertentu. Catat titik dua sebelum nama grup.

chown :gacanepa email_body.txt
Kesimpulan

Sebagai sysadmin, Anda perlu mengetahui cara membuat dan memulihkan cadangan, cara menemukan file di sistem Anda dan mengubah atributnya, serta beberapa trik yang dapat membuat hidup Anda lebih mudah dan mencegah Anda mengalami masalah di masa mendatang.

Saya harap tips yang diberikan dalam artikel ini akan membantu Anda mencapai tujuan tersebut. Jangan ragu untuk menambahkan informasi dan ide Anda sendiri di bagian komentar untuk kepentingan komunitas. Terima kasih sebelumnya!

eBuku LFCS kini tersedia untuk dibeli. Pesan salinan Anda hari ini dan mulailah perjalanan Anda menjadi administrator sistem Linux bersertifikat!

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

Yang terakhir, namun tidak kalah pentingnya, harap pertimbangkan untuk membeli voucher ujian Anda menggunakan tautan berikut untuk memberi kami komisi kecil, yang akan membantu kami terus memperbarui buku ini.