Cara Mengembalikan File Yang Terhapus di Linux

3 Perintah Berguna Untuk Memfilter Teks Agar Operasi File Lebih Efektif di Linux

Pada artikel ini, kami akan meninjau sejumlah alat baris perintah yang bertindak sebagai filter di Linux. Sebuah Filter adalah sebuah program yang membaca input standar, melakukan operasi di atasnya dan menulis hasil ke output standar.

Untuk alasan ini, dapat digunakan untuk memproses informasi dengan cara yang kuat seperti merestrukturisasi output untuk menghasilkan laporan yang bermanfaat, memodifikasi teks dalam file dan banyak tugas administrasi sistem lainnya.

Dengan demikian, di bawah ini adalah beberapa file atau filter teks yang berguna di Linux.

Perintah Awk

Awk adalah pemindaian pola dan bahasa pemrosesan yang luar biasa, ini dapat digunakan untuk membangun filter yang berguna di Linux. Selain itu, baca juga halaman manual awk untuk info lebih lanjut dan opsi penggunaan:

$ man awk

Perintah Sed

sed adalah editor aliran yang kuat untuk memfilter dan mengubah teks. Halaman manual sed telah menambahkan opsi dan instruksi kontrol:

$ man sed

Perintah Grep, Egrep, Fgrep, Rgrep

Filter ini mengeluarkan garis keluaran yang cocok dengan pola yang diberikan. Mereka membaca baris dari file atau input standar, dan mencetak semua baris yang cocok secara default ke output standar.

Catatan : Program utama adalah grep , variasinya sama saja dengan menggunakan opsi grep tertentu seperti di bawah ini :

$ egrep = grep -E
$ fgrep = grep -F
$ rgrep = grep -r

Berikut adalah beberapa perintah dasar grep:

buycloud @ BuyCloud ~ $ grep "buycloudhost" /etc/passwd
buycloudhost: x: 1001: 1001 :: /home/buycloudhost:

buycloud @ BuyCloud ~ $ cat /etc/passwd | grep "buycloudhost"
buycloudhost: x: 1001: 1001 :: /home/buycloudhost:

 

Cara Mengembalikan File Yang Terhapus di Linux

5 Konfigurasi Sudoers yang Berguna untuk Mengatur ‘sudo’ di Linux

Di Linux dan sistem operasi mirip Unix lainnya, hanya pengguna root yang dapat menjalankan semua perintah dan melakukan operasi  tertentu pada sistem seperti menginstal dan memperbarui, menghapus paket, membuat pengguna dan grup , memodifikasi file konfigurasi sistem yang penting dan sebagainya.

Namun, administrator sistem yang mengasumsikan peran pengguna root dapat mengizinkan pengguna sistem normal lainnya dengan bantuan perintah sudo dan beberapa konfigurasi untuk menjalankan beberapa perintah serta melakukan sejumlah operasi sistem vital termasuk yang disebutkan di atas.

Atau, administrator sistem dapat membagikan kata sandi pengguna root  sehingga pengguna sistem normal memiliki akses ke akun pengguna root melalui perintah su .

sudo memungkinkan pengguna yang diizinkan untuk menjalankan perintah sebagai root (atau pengguna lain), sebagaimana ditentukan oleh kebijakan keamanan:

  1. Itu membaca dan mem-parsing /etc/sudoers , mencari pengguna dengan izin aksesnya,
  2. kemudian meminta pengguna yang meminta kata sandi (biasanya kata sandi pengguna, tetapi juga bisa menjadi kata sandi pengguna target. Atau dapat dilewati dengan tag NOPASSWD),
  3. setelah itu, sudo membuat proses turunan di mana ia memanggil setuid () untuk beralih ke pengguna target
  4. selanjutnya, ia mengeksekusi shell atau perintah yang diberikan sebagai argumen dalam proses di atas.

Di bawah ini adalah lima / etc / sudoers konfigurasi file untuk mengubah perilaku perintah sudo menggunakan entri Defaults

$ sudo cat /etc/sudoers

dibawah ini adalah isi file sudoers file

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
defaults env_reset
defaults mail_badpass
defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
defaults logfile="/var/log/sudo.log"
defaults lecture="always"
defaults badpass_message="Password is wrong, please try again"
defaults passwd_tries=5
defaults insults
defaults log_input,log_output

Untuk cakupan panduan ini, kami akan nol ke tipe Default pertama dalam formulir di bawah ini. Parameter dapat berupa flag, nilai integer, string, atau daftar.

Anda harus mencatat bahwa flag secara implisit adalah boolean dan dapat dimatikan menggunakan ‘!’operator, dan daftar memiliki dua operator penugasan tambahan, +=(tambahkan ke daftar) dan -=(hapus dari daftar).

Defaults parameter
OR
Defaults parameter=value
OR
Defaults parameter -=value 
Defaults parameter +=value 
OR
Defaults !parameter

Tetapkan PATH Dengan Aman

Ini adalah jalur yang digunakan untuk setiap perintah yang dijalankan dengan sudo, ini memiliki dua hal penting:

Digunakan ketika administrator sistem tidak mempercayai pengguna sudo untuk memiliki variabel lingkungan PATH yang aman
Untuk memisahkan “jalur root” dan “jalur pengguna”, hanya pengguna yang ditentukan oleh exempt_group yang tidak terpengaruh oleh pengaturan ini.
Untuk mengaturnya, tambahkan baris:

secure_path = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / snap / bin"

Aktifkan sudo pada Sesi Login Pengguna TTY

Untuk memungkinkan sudo dipanggil dari tty asli tetapi tidak melalui metode seperti skrip cron atau cgi-bin , tambahkan baris:

defaults requiretty

Jalankan Perintah Sudo Menggunakan pty

Beberapa kali, penyerang dapat menjalankan program jahat (seperti virus atau malware) menggunakan sudo, yang akan kembali melakukan proses latar belakang yang tetap ada di perangkat terminal pengguna bahkan ketika program utama telah selesai dijalankan.

Untuk menghindari skenario seperti itu, Anda dapat mengonfigurasi sudo untuk menjalankan perintah lain hanya dari psuedo-pty menggunakan use_ptyparameter, apakah pencatatan I / O dihidupkan atau tidak sebagai berikut:

use_pty default

Buat File Log Sudo

Secara default, sudo mencatat melalui syslog (3). Namun, untuk menentukan file log khusus, gunakan parameter logfile seperti:

File log default = "/var/log/sudo.log"
Untuk log hostname dan tahun empat digit dalam file log kustom, penggunaan log_host dan log_year parameter masing-masing sebagai berikut:
log_host default, log_year, logfile = "/var/log/sudo.log"

Log Sudo Command Input / Output

log_input dan log_output parameter memungkinkan sudo untuk menjalankan perintah dalam pseudo-tty dan log semua input pengguna dan semua output dikirim ke layar reseptif.

Direktori log I / O default adalah / var / log / sudo-io , dan jika ada nomor urut sesi, ia disimpan dalam direktori ini. Anda dapat menentukan direktori khusus melalui parameter iolog_dir .

Log_input default, log_output
Ada beberapa urutan pelarian yang didukung seperti %{seq}yang meluas ke nomor urutan basis-36 yang meningkat secara monoton, seperti 000001, di mana setiap dua digit digunakan untuk membentuk direktori baru, misalnya 00/00/01 seperti pada contoh di bawah ini:
$ cd /var/log/sudo-io /
$ ls
$ cd 00/00/01
$ ls
$ cat log
Cara Mengembalikan File Yang Terhapus di Linux

Cara Membuat Sesi Timeout Kata Sandi ‘sudo’ Lebih Lama di Linux

Di Ubuntu dan turunannya seperti Linux Mint atau distro berbasis Ubuntu lainnya, ketika Anda menjalankan perintah sudo , ia akan meminta Anda untuk memasukkan kata sandi administratif.

Setelah Anda menjalankan perintah sudo pertama kali, kata sandi akan bertahan selama 15 menit secara default, jadi Anda tidak perlu mengetikkan kata sandi untuk setiap perintah sudo.

Jika, entah bagaimana Anda merasa bahwa 15 menit terlalu lama atau pendek karena suatu alasan, Anda dapat mengubahnya dengan tweak mudah dalam file sudoers .

Untuk mengatur nilai batas waktu kata sandi sudo, gunakan passwd_timeoutparameter. Pertama buka file / etc / sudoers dengan hak pengguna super menggunakan perintah sudo dan visudo seperti:

$ sudo visudo

Kemudian tambahkan entri default berikut, ini menyiratkan bahwa prompt kata sandi sudo akan habis setelah 20 menit setelah sudo dipanggil oleh pengguna.

Defaults env_reset, timestamp_timeout = 20

Catatan : Anda dapat mengatur waktu apa pun yang Anda inginkan dalam hitungan menit dan pastikan untuk menunggu sebelum waktu habis. Anda juga dapat mengatur waktu untuk 0 jika Anda menginginkan prompt kata sandi untuk setiap perintah sudo yang Anda jalankan, atau menonaktifkan prompt kata sandi selamanya dengan menetapkan nilainya -1.

Simpan file dengan menekan [Ctrl + O]dan keluar menggunakan [Ctrl + X]. Setelah itu uji apakah pengaturan bekerja dengan menjalankan perintah dengan sudo dan tunggu selama 2 menit untuk melihat apakah prompt kata sandi akan habis.

Cara Mengembalikan File Yang Terhapus di Linux

Cara Menggunakan File Konfigurasi SSH Khusus Pengguna

Setelah kemarin sempat menulis tentang membuat file konfigurasi, maka sekarang kami akan sedikit berbagi kepada anda tentang bagaimana cara menggunakan file konfigurasi SSH khusus pengguna yang di tutorial sebelumnya kita sudah membuatnya.

Langkah Pertama,Buka file konfigurasi dengan editor favorit Anda:

$ vi ~ /.ssh/config

Dan tentukan bagian yang diperlukan:

Host fedora25
HostName 192.168.56.15
Port 22
ForwardX11 no

Host centos7
HostName 192.168.56.10
Port 22
ForwardX11 no

Host ubuntu
HostName 192.168.56.5
Port 2222
ForwardX11 yes

Host *
User buycloud
IdentityFile ~/.ssh/id_rsa
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO

Penjelasan rinci tentang opsi konfigurasi ssh di atas.

  1. HostName – mendefinisikan nama host asli untuk login, atau Anda dapat menggunakan alamat IP numerik, itu juga diizinkan (baik pada baris perintah dan dalam spesifikasi HostName ).
  2. Pengguna – menentukan pengguna untuk login.
  3. Port – mengatur nomor port untuk dihubungkan pada host jarak jauh, standarnya adalah 22 . Gunakan nomor port yang dikonfigurasi dalam file konfigurasi sshd host jarak jauh.
  4. Protokol – opsi ini mendefinisikan versi protokol yang seharusnya didukung oleh ssh berdasarkan preferensi. Nilai yang biasa adalah ‘1’ dan ‘2’ , beberapa versi harus dipisahkan dengan koma.
  5. IdentityFile – menentukan file dari mana identitas pengguna DSA, Ed25519, RSA atau ECDSA.
  6. ForwardX11 – menentukan apakah koneksi X11 akan secara otomatis dialihkan melalui saluran aman dan DISPLAY ditetapkan. Ini memiliki dua nilai yang mungkin “ya” atau “tidak” .
  7. Kompresi – digunakan untuk mengatur kompresi selama koneksi jarak jauh dengan nilai “ya” . Standarnya adalah “tidak” .
  8. ServerAliveInterval – menetapkan interval waktu habis dalam hitungan detik setelahnya jika tidak ada respons (atau data) diterima dari server, ssh akan mengirim pesan melalui saluran terenkripsi untuk meminta tanggapan dari server. Nilai default adalah 0 , artinya tidak ada pesan yang akan dikirim ke server, atau 300 jika opsi BatchMode telah ditentukan.
  9. ServerAliveCountMax – mengatur jumlah pesan server yang hidup yang dapat dikirim tanpa ssh menerima tanggapan dari server.
  10. LogLevel – mendefinisikan tingkat verbositas yang digunakan saat mencatat pesan dari ssh. Nilai yang diperbolehkan meliputi: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, dan DEBUG3. Dan standarnya adalah INFO.

Cara standar untuk menyambung ke host Linux jarak jauh (CentOS 7 – dalam kasus saya), yang didefinisikan pada bagian dua dari file konfigurasi di atas, kita biasanya mengetik perintah di bawah ini:

$ ssh -i ~ /.ssh/id_rsa -p 22 buycloudt@192.168.56.10

Namun, dengan menggunakan file konfigurasi ssh client, kita cukup mengetik perintah berikut:

$ ssh centos7

Anda dapat menemukan lebih banyak opsi dan contoh penggunaan di halaman konfigurasi klien ssh:

$ man ssh_config
Tutorial Cara Menggunakan 'YUM History' Info Paket Secara Lengkap

Cara Menetapkan Akses Read / Write ke Pengguna di Direktori Tertentu di Linux

Untuk tujuan tutorial ini, kami akan menggunakan pengaturan berikut.

Operating system: CentOS 7
Test directory: /shares/project1/reports 
Test user: buycloud
Filesystem type: Ext4

Pastikan semua perintah dijalankan sebagai pengguna root atau gunakan perintah sudo dengan hak istimewa yang setara.

Mari kita mulai dengan membuat direktori yang disebut reports menggunakan perintah mkdir :

# mkdir -p /shares/project1/reports

Menggunakan Metode ACL

Penting : Untuk menggunakan metode ini, pastikan bahwa tipe sistem file Linux Anda (seperti Ext3 dan Ext4, NTFS, BTRFS) mendukung ACL.

Pertama, periksa jenis sistem file saat ini pada sistem Anda, dan juga apakah kernel mendukung ACL sebagai berikut:

# df -T | awk '{print $ 1, $ 2, $ NF}' | grep "^ /dev"
# grep -i acl /boot/config *

Selanjutnya, periksa apakah sistem file (partisi) dipasang dengan opsi ACL atau tidak:

# tune2fs -l /dev/sda1 | grep acl

Sekarang, saatnya untuk menetapkan akses read / write ke pengguna buycloud di direktori tertentu yang disebut reports dengan menjalankan perintah berikut.

# getfacl /shares/project1/reports # Periksa pengaturan ACL default untuk direktori 
# setfacl -m user: buycloud: rw /share/project1/reports # Berikan rw akses ke pengguna buycloud 
# getfacl /shares/project1/reports # Periksa pengaturan ACL baru untuk direktori

Jika anda memiliki metode lain dalam menetapkan akses read dan write, silahkan share di kolom komentar.