<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Muhammad Fauzi</title>
    <description>The latest articles on DEV Community by Muhammad Fauzi (@whoame3f).</description>
    <link>https://dev.to/whoame3f</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1356806%2F5e66f676-e40b-43e0-9e6a-c97f819b73fb.jpeg</url>
      <title>DEV Community: Muhammad Fauzi</title>
      <link>https://dev.to/whoame3f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/whoame3f"/>
    <language>en</language>
    <item>
      <title>"I Forgot my Linux root Password!!😥" DO THIS!! Resetting the Root Password</title>
      <dc:creator>Muhammad Fauzi</dc:creator>
      <pubDate>Tue, 02 Apr 2024 12:45:05 +0000</pubDate>
      <link>https://dev.to/whoame3f/i-forgot-my-linux-root-password-do-this-resetting-the-root-password-1i22</link>
      <guid>https://dev.to/whoame3f/i-forgot-my-linux-root-password-do-this-resetting-the-root-password-1i22</guid>
      <description>&lt;h2&gt;
  
  
  Resetting the Root Password from the Boot Loader
&lt;/h2&gt;

&lt;p&gt;Mereset password &lt;strong&gt;root&lt;/strong&gt; harus bisa dilakukan oleh system administrator. Ada beberapa metode untuk menetapkan &lt;strong&gt;root&lt;/strong&gt; kata sandi baru. Seorang administrator sistem dapat &lt;em&gt;mem-boot sistem&lt;/em&gt; menggunakan &lt;strong&gt;Live CD&lt;/strong&gt;, memasang sistem file &lt;strong&gt;root&lt;/strong&gt; dari sana, dan mengedit file &lt;em&gt;/etc/shadow&lt;/em&gt;. Pada bagian ini, kami mengeksplorasi metode yang tidak memerlukan penggunaan media eksternal.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nyalakan ulang sistem. Tekan &lt;strong&gt;Ctrl + Alt + Del&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hentikan hitungan mundur boot loader dengan menekan tombol apa saja, kecuali &lt;strong&gt;Enter&lt;/strong&gt; , misalnya saya tekan &lt;strong&gt;D&lt;/strong&gt; .&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgeqfk2ojt2yv044cb884.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgeqfk2ojt2yv044cb884.png" alt="Image description" width="509" height="286"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pindahkan kursor ke entri kernel untuk boot.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tekan &lt;strong&gt;e&lt;/strong&gt; untuk mengedit entri yang dipilih.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pindahkan kursor ke baris perintah kernel &lt;em&gt;(baris yang dimulai dengan linux)&lt;/em&gt;. Kemudian tekan tombol &lt;strong&gt;End&lt;/strong&gt; untuk memindahkan kursor ke baris paling akhir.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Menambahkan &lt;strong&gt;rd.break&lt;/strong&gt;. Dengan opsi itu, sistem akan rusak tepat sebelum sistem menyerahkan kendali dari sistem &lt;em&gt;initramfs&lt;/em&gt; ke sistem sebenarnya.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0h2ghh1duzubf4qb3vix.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0h2ghh1duzubf4qb3vix.png" alt="Image description" width="508" height="282"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tekan &lt;strong&gt;Ctrl + x&lt;/strong&gt; untuk keluar dan booting menggunakan konfigurasi yang dimodifikasi.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Saat &lt;strong&gt;&lt;em&gt;switch_root&lt;/em&gt;&lt;/strong&gt; diminta, pasang kembali &lt;em&gt;/sysroot&lt;/em&gt; sistem file &lt;em&gt;read/write&lt;/em&gt;, lalu gunakan &lt;strong&gt;chroot&lt;/strong&gt; untuk masuk ke &lt;strong&gt;chroot&lt;/strong&gt; di &lt;em&gt;/sysroot&lt;/em&gt;.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;switch_root:/# mount -o remount,rw /sysroot
switch_root:/# chroot /sysroot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Tetapkan kata sandi baru &lt;strong&gt;root&lt;/strong&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sh-4.4# passwd root
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Pastikan semua file yang tidak berlabel, termasuk &lt;em&gt;/etc/shadow&lt;/em&gt; diberi label ulang saat boot.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sh-4.4# touch /.autorelabel
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Gunakan comand &lt;strong&gt;exit&lt;/strong&gt; &lt;em&gt;dua kali&lt;/em&gt;. Perintah &lt;em&gt;pertama keluar dari chroot&lt;/em&gt;, &lt;em&gt;kedua keluar dari&lt;/em&gt; &lt;strong&gt;initramfs&lt;/strong&gt; &lt;em&gt;debug shel&lt;/em&gt;. &lt;strong&gt;SELinux&lt;/strong&gt; _merelabel ulang _semua file saat booting lagi.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Inspecting Logs
&lt;/h2&gt;

&lt;p&gt;Melihat &lt;strong&gt;log&lt;/strong&gt; dari &lt;em&gt;boot yang gagal&lt;/em&gt; sebelumnya dapat bermanfaat. Gunakanlah &lt;em&gt;jurnalctl&lt;/em&gt;. Secara default jurnal sistem diimpan di direktori &lt;em&gt;/run/log/journal&lt;/em&gt; dan akan &lt;em&gt;dihapus&lt;/em&gt; saat &lt;strong&gt;sistem di boot ulang&lt;/strong&gt;. Sendangkan yang disimpan di &lt;em&gt;/var/log/journal&lt;/em&gt; akan tetap ada saat &lt;strong&gt;reboot&lt;/strong&gt;. Setel storage ke persistant dalam /etc/systemd/journal.conf.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[root@host ~]# vim /etc/systemd/journald.conf
...output omitted...
[Journal]
Storage=persistent
...output omitted...
[root@host ~]# systemctl restart systemd-journald.service
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Untuk memeriksa log boot sebelumnya gunakan &lt;strong&gt;journalctl -b&lt;/strong&gt;. dengan &lt;em&gt;angka negatif sebagai argumen&lt;/em&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[root@host ~]# journalctl -b -1 -p err
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Repairing Systemd Boot Issues
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Enabling the Early Debug Shell
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Enable&lt;/strong&gt; kan service &lt;strong&gt;debug-shell&lt;/strong&gt; dengan &lt;strong&gt;systemctl enable debug-shell.service&lt;/strong&gt;, sistem memunculkan &lt;em&gt;root shell&lt;/em&gt; &lt;strong&gt;TTY9( Ctrl + Alt + F9 )&lt;/strong&gt; di &lt;em&gt;awal selama booting&lt;/em&gt;. Shel otomatis login sebagai &lt;strong&gt;root&lt;/strong&gt;, memungkinkan &lt;em&gt;debuging&lt;/em&gt; saaat system sedang booting. Jan gan lupa untuk mematikan service ini setelah debuging.&lt;/p&gt;

&lt;h3&gt;
  
  
  Using the Emergency and Rescue Targets
&lt;/h3&gt;

&lt;p&gt;Dengan menambahkan salah satu &lt;strong&gt;systemd.unit=rescue.target&lt;/strong&gt; atau &lt;strong&gt;systemd.unit=emergency.target&lt;/strong&gt; ke baris perintah kernel dari &lt;em&gt;boot loader&lt;/em&gt;, sistem akan memunculkan shell penyelamat atau darurat alih-alih memulai secara normal. Kedua shell ini memerlukan &lt;strong&gt;root&lt;/strong&gt; &lt;em&gt;kata sandi&lt;/em&gt;.&lt;br&gt;
Tulis &lt;strong&gt;mount -o remount,rw /&lt;/strong&gt; agar _root mendapat izin untuk membuat perubahan /etc/fstab _.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mengidentifikasi Pekerjaan yang Terjebak
&lt;/h3&gt;

&lt;p&gt;Selama &lt;strong&gt;startup&lt;/strong&gt;, systemd memunculkan sejumlah pekerjaan. Jika beberapa pekerjaan ini &lt;em&gt;tidak dapat diselesaikan&lt;/em&gt;, maka pekerjaan lain akan diblokir agar tidak dapat dijalankan. Untuk memeriksa daftar &lt;em&gt;pekerjaan saat ini&lt;/em&gt; , administrator dapat menggunakan perintah &lt;strong&gt;systemctl list-jobs&lt;/strong&gt; . &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ramadhanbersamaredhat</category>
      <category>linux</category>
      <category>redhat</category>
    </item>
    <item>
      <title>Managing SELinux is easy v:(Indonesian Version)</title>
      <dc:creator>Muhammad Fauzi</dc:creator>
      <pubDate>Fri, 22 Mar 2024 11:56:46 +0000</pubDate>
      <link>https://dev.to/whoame3f/managing-selinux-is-easy-vindonesian-version-3ap7</link>
      <guid>https://dev.to/whoame3f/managing-selinux-is-easy-vindonesian-version-3ap7</guid>
      <description>&lt;h1&gt;
  
  
  &lt;strong&gt;A. Controlling SELinux File Contexts&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Ketika suatu system menjalankan &lt;strong&gt;SELinux&lt;/strong&gt;, semua proses dan file diberi label. Hal itu untuk mewakili keamanan yang relevan, biasanya dikenal dengan &lt;em&gt;konteks&lt;/em&gt; &lt;strong&gt;SELinux&lt;/strong&gt;. File baru yang dibuat pada direktori biasanya labelnya akan mengikuti direktory induknya, untuk memastikan file itu memiliki konteks yang tepat. &lt;/p&gt;

&lt;p&gt;Pada umumnya konsep tersebut dapat dirusak. &lt;br&gt;
&lt;strong&gt;Pertama&lt;/strong&gt;, ketika kita membuat suatu file dalm direktory kemudian labelnya akan mengikuti directory induknya, namun ketika kita &lt;em&gt;memindahkannya&lt;/em&gt; ke directory yang berbedadengan comand &lt;strong&gt;&lt;em&gt;mov&lt;/em&gt;&lt;/strong&gt; file yang dipindahkan tetap akan memiliki &lt;em&gt;label yang sama dengan directory dimana ia dibuat&lt;/em&gt; bukan directory di mana ia dipindahkan. &lt;br&gt;
&lt;strong&gt;Dua&lt;/strong&gt;, dengan &lt;strong&gt;menyalin&lt;/strong&gt; file dari directory asalnya kedirectory &lt;em&gt;tujuan dengan mempertahankan konteks SELinuxnya&lt;/em&gt;, misalnya dengan comand &lt;strong&gt;&lt;em&gt;cp -a&lt;/em&gt;&lt;/strong&gt;, konteks &lt;strong&gt;SELinuk&lt;/strong&gt; akan &lt;em&gt;mempertahankan file asli dari file yang di copy&lt;/em&gt;. Namun jika kita hanya menggunakan perintah &lt;strong&gt;&lt;em&gt;cp&lt;/em&gt;&lt;/strong&gt; file yang kita copy labelnya akan &lt;em&gt;mengikuti di directory mana file tersebut ditujukan&lt;/em&gt;. Gunakan comand &lt;strong&gt;&lt;em&gt;ls -Z&lt;/em&gt;&lt;/strong&gt; melihat konteks &lt;strong&gt;SELinux&lt;/strong&gt; pada sebuah file dan ls -Zd  untuk melihat konteks &lt;strong&gt;SELinux&lt;/strong&gt; sebuah directory. &lt;strong&gt;Semoga mudah dipahami 😊.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Changing the SELinux context of a file&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Beberapa cara untuk mengubah konteks  sebuah file pada Linux. &lt;strong&gt;Gass kita oprek-oprek!&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. semanage fcontext&lt;/strong&gt;. &lt;em&gt;Adalah suatu metode untuk mendeklarasikan label default untuk sebuah file yang kemudian menerapkan konteks tersebut ke file dengan command  restorasicon&lt;/em&gt;. Hal ini dapat memastikan bahwa pelabelan akan sesuai dengan keinginan bahkan setelah system diberi &lt;strong&gt;relabled&lt;/strong&gt;/pelabelan ulang secara menyeluruh.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[root@host ~]# ls -Z /var/www/html/file*
unconfined_u:object_r: user_tmp_t:s0 /var/www/html/file1  unconfined_u:object_r: httpd_sys_content_t:s0/var/www/html/file2
[root@host ~]# semanage fcontext -l
...keluaran dihilangkan...
/var/www(/.*)? semua file system_u:object_r:httpd_sys_content_t:s0
...keluaran dihilangkan... 
[root@host; ~]# restorecon -Rv /var/www/
Relabeled/var/www/html/ file1dari unconfined_u:object_r: user_tmp_t:s0 ke unconfined_u:object_r: : httpd_sys_content_ts0
 [root@host ~]# ls -Z /var/www/html/file*
unconfined_u:object_r: httpd_sys_content_t:s0 /var/www/html/ file1  unconfined_u:object_r: httpd_sys_content_t:s0 /var/www/html/file2

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. &lt;em&gt;chorn&lt;/em&gt;&lt;/strong&gt;. Adalah comand untuk &lt;em&gt;mengubah konteks Linux dan mengatur konteks keamanan pada sebuah file, yang disimpan pada system file&lt;/em&gt;. Gunanya untuk menguji dan bereksperimen. Akan tetapi, hal ini tidak menyimpan perubahan konteks dalam database &lt;strong&gt;SELinux&lt;/strong&gt;. Ketika perintah restorecron  dijalankan, perubahan yang dilakukan &lt;strong&gt;&lt;em&gt;chron&lt;/em&gt;&lt;/strong&gt;  akan dipulihkan seperti sebelumnya. Selain itu, jika seluruh file system di &lt;strong&gt;relabled&lt;/strong&gt;/di pelabelan ulang maka, pengubahan konteks dengan &lt;strong&gt;&lt;em&gt;chron&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;akan dikembalikan&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[root@host ~]# chcon -t httpd_sys_content_t /virtual
[root@host ~]# ls -Zd /virtual
drwxr-xr-x. root root unconfined_u:object_r: httpd_sys_content_t:s0 /virtual
[root@host ~]# restorecon -v /virtual
Relabeled/virtual dari unconfined_u:object_r: httpd_sys_content_t:s0 ke unconfined_u:object_r: default_t:s0
[root@host ~]# ls -Zd /virtual
drwxr-xr-x. root root unconfined_u:object_r: default_t:s0 /virtual

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Defining SELinux Default File Context Rules&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;semanage fcontext&lt;/em&gt;&lt;/strong&gt; command untuk &lt;em&gt;melihat _dan **_restorecon&lt;/em&gt;** untuk &lt;em&gt;mengatur konteks kedefaultnya&lt;/em&gt;. Ia menggunakan ekspresi reguler yang diperluas untuk menentukan jalur dan nama file. Untuk expresi reguler yang diperluas umumnya menggunakan &lt;strong&gt;&lt;em&gt;fcontext&lt;/em&gt;&lt;/strong&gt; aturan yaitu (/.&lt;em&gt;)?, maksudnya “opsional, / untuk banyak angka atau karakter”.&lt;br&gt;
Opsi *&lt;/em&gt;&lt;em&gt;semanage fcontext&lt;/em&gt;** adalah &lt;strong&gt;&lt;em&gt;-a, --add , -d, --delete , -l, --list.&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Untuk mengontrol &lt;strong&gt;SELinux&lt;/strong&gt; konteks intall terlebih dahulu &lt;em&gt;policycoreutils&lt;/em&gt; package dan &lt;em&gt;policycoreutils-python&lt;/em&gt;, yang akan berisi command &lt;strong&gt;&lt;em&gt;restorecon&lt;/em&gt;&lt;/strong&gt; dan &lt;strong&gt;&lt;em&gt;semanage&lt;/em&gt;&lt;/strong&gt;. Untuk melihat &lt;em&gt;konteks yang berjalan&lt;/em&gt; gunakan &lt;strong&gt;&lt;em&gt;semanage fconteks -l&lt;/em&gt;&lt;/strong&gt; di ikuti dengan  &lt;strong&gt;&lt;em&gt;restorecon&lt;/em&gt;&lt;/strong&gt;.  &lt;/p&gt;
&lt;h1&gt;
  
  
  &lt;strong&gt;B. Adjusting SELinux Policy with Booleans&lt;/strong&gt;
&lt;/h1&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;SELinux booleans&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;SELinux booleans&lt;/strong&gt; adalah saklar yang &lt;em&gt;mengubah perilaku kebijakan SELinux&lt;/em&gt; atau dengan kata lain &lt;em&gt;aturan yang dapat diaktifkan atau dinonaktifkan&lt;/em&gt;. Biasanya digunakan oleh administrator keamanan untuk menyesuaikan kebijakan untuk membuat penyesuaian yang selektif.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Command getsebool&lt;/em&gt;&lt;/strong&gt; digunakan untuk mencantumkan &lt;em&gt;boolean dan statusnya&lt;/em&gt;. &lt;strong&gt;&lt;em&gt;setsebool&lt;/em&gt;&lt;/strong&gt; untuk mengubah &lt;em&gt;boolean&lt;/em&gt;. &lt;strong&gt;&lt;em&gt;setsebool -P&lt;/em&gt;&lt;/strong&gt; memodifikasi kebijakan &lt;strong&gt;SELinux&lt;/strong&gt; agar modifikasi tetap ada. Dan &lt;strong&gt;&lt;em&gt;semanage boolean -l&lt;/em&gt;&lt;/strong&gt; melaporkan apakah suatu boolean persisten atau tidak, bersama dengan deskripsi singkat tentang &lt;em&gt;boolean&lt;/em&gt; tersebut. Pengguna tanpa hak istimewa hanya bisa menggunakan command &lt;strong&gt;&lt;em&gt;getsebool&lt;/em&gt;&lt;/strong&gt;, selain command itu untuk menjalankanya harus &lt;em&gt;supper user&lt;/em&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host ~]$ getsebool -a
abrt_anon_write --&amp;gt; off
abrt_handle_event --&amp;gt; off
abrt_upload_watch_anon_write --&amp;gt; on
antivirus_can_scan_system --&amp;gt; off
antivirus_use_jit --&amp;gt; off
...output omitted...
[user@host ~]$ getsebool httpd_enable_homedirs
httpd_enable_homedirs --&amp;gt; off
[user@host ~]$ setsebool httpd_enable_homedirs on
Could not change active booleans. Please try as root: Permission denied
[user@host ~]$ sudo setsebool httpd_enable_homedirs on
[user@host ~]$ sudo semanage boolean -l | grep httpd_enable_homedirs
httpd_enable_homedirs          (on   ,  off)  Allow httpd to enable homedirs
[user@host ~]$ getsebool httpd_enable_homedirs
httpd_enable_homedirs --&amp;gt; on
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Gunakan opsi &lt;strong&gt;&lt;em&gt;-P&lt;/em&gt;&lt;/strong&gt; untuk membuatnya menulis nilai yang tertunda ke kebijakan dan &lt;em&gt;tetap ada&lt;/em&gt; setelah di &lt;strong&gt;reboot&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host ~]$ setsebool -P httpd_enable_homedirs on
[user@host ~]$ sudo semanage boolean -l | grep httpd_enable_homedirs
httpd_enable_homedirs          (on   ,   on)  Allow httpd to enable homedirs 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Untuk melihat list boolean yang dalam keaddan &lt;em&gt;default&lt;/em&gt; gunakan &lt;strong&gt;&lt;em&gt;semanage boolean -l -C&lt;/em&gt;&lt;/strong&gt; .&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host ~]$ sudo semanage boolean -l -C
SELinux boolean                State  Default Description

cron_can_relabel               (off   ,   on)  Allow cron to can relabel
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>redhat</category>
      <category>ramadhanbersamaredhat</category>
      <category>linux</category>
      <category>webdev</category>
    </item>
    <item>
      <title>SELinux? What is that? Penting kah?</title>
      <dc:creator>Muhammad Fauzi</dc:creator>
      <pubDate>Fri, 22 Mar 2024 08:28:26 +0000</pubDate>
      <link>https://dev.to/whoame3f/selinux-what-is-this-penting-kah-55n5</link>
      <guid>https://dev.to/whoame3f/selinux-what-is-this-penting-kah-55n5</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyvrsrz0s5hnwecqyi35d.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyvrsrz0s5hnwecqyi35d.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How SELinux Protects Resources&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;SELinux&lt;/strong&gt; adalah keamanan penting bagi linux. Akses ke file dan sumber daya lainnya dikontrol pada tingkat yang sangat terperinci. Proses hanya diizinkan mengakses sumber daya yang ditentukan oleh kebijakannya, atau pengaturan boolean &lt;strong&gt;SELinux&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Mengontrol izin file pengguna atau grup pengguna mana yang dapat mengakses file tertentu. Namun, pengguna yang diberi akses baca atau tulis ke file tertentu dapat menggunakan file tersebut dengan cara apa pun yang dipilih pengguna, meskipun penggunaan tersebut bukanlah cara penggunaan file tersebut.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SELinux&lt;/strong&gt; merupakan serangkaian kebijakan yang ditentukan oleh pengembang software, yang dengan tepat menyatakan tindakan dan akses apa yang tepat dan diperbolehkan untuk setiap biner yang dapat dieksekusi, konfigurasi file, dan file apa yang digunakan.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why use Security Enhanced Linux?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;SELinux&lt;/strong&gt; menerapkan aturan untuk mencegah kelemahan dalam system aplikasi yang memengaruhi aplikasi lain atau system yang mendasarinya. Ia memberikan keamanan tambahan, hal ini menambah kompleksitas yang &lt;strong&gt;dapat membuat seseorang yang awam tidak menyukai system ini&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Tiga mode SELinux :&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enforcing&lt;/strong&gt;: &lt;em&gt;SELinux menerapkan aturan pengontrolan akses&lt;/em&gt;. Ia akan monolak jika ada pelanggaran dalam kontrol akses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Permissive&lt;/strong&gt;: &lt;em&gt;SELinux aktif tetapi tidak sepenuhnya menerapkan kontrol akses&lt;/em&gt;. Ia mencatat peringatan aturan yang dilanggar. Digunakan untuk pengujian dan pemecahan masalah&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Disabled&lt;/strong&gt;: &lt;em&gt;SELinux dimatikan&lt;/em&gt;, yang membuat tidak ada penolakan, atau dicatatnya pelanggaran pada system.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Basic SELinux security concepts&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;SELinuk&lt;/strong&gt; merupakan lapisan tambahan pada lapisan keamanan. Tujuan utamanya untuk melindungi data dari pengguna dari layanan sistem yang telah diretas. Bekerja dengan menerapkan kebijakan kontrol akses yang ketat untuk mengontrol akses ke file, direktori, dan port. Dengan ini, &lt;strong&gt;SELinux&lt;/strong&gt; membantu melindungi sistem bahkan jika layanan atau proses tertentu diretas, karena &lt;strong&gt;SELinux&lt;/strong&gt; dapat mencegah akses yang tidak sah.&lt;br&gt;
Setiap file, proses, direktori, dan port memiliki label keamanan khusus yang disebut &lt;em&gt;SELinuxcontext&lt;/em&gt;. &lt;strong&gt;Konteks&lt;/strong&gt; adalah nama yang digunakan oleh kebijakan &lt;strong&gt;SELinux&lt;/strong&gt; untuk menentukan apakah suatu proses dapat mengakses file, direktori, atau port. Secara default, kebijakan ini tidak mengizinkan interaksi apa pun kecuali aturan eksplisit memberikan akses. Jika tidak ada aturan izinkan, maka akses tidak diperbolehkan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Label SELinux memiliki beberapa konteks&lt;/strong&gt;: user, role, type, dan sensitivity. Pada umumnya setiap service memiliki context yang berbeda dan memiliki peraturan penggunaan direktori yang berbeda pula. Dengan maksud meningkatkan tingkat keamanan.&lt;br&gt;
Banyak commands untuk melihat context SELinux dengan menggunakan opsi &lt;strong&gt;– Z&lt;/strong&gt;. misalnya &lt;strong&gt;ps, ls, cp, mkdir&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyy3iksdf1m7m3f2p0ipb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyy3iksdf1m7m3f2p0ipb.png" alt="Image description" width="757" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fszmwhv96e4p4yqj1yxvz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fszmwhv96e4p4yqj1yxvz.png" alt="Image description" width="747" height="256"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Changing the current SELinux mode&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Untuk menentukan &lt;strong&gt;SELinux&lt;/strong&gt; &lt;em&gt;mode&lt;/em&gt;, gunakan &lt;strong&gt;&lt;em&gt;getenforce&lt;/em&gt;&lt;/strong&gt;. Untuk_ mengganti modenya_ gunakan &lt;strong&gt;&lt;em&gt;setenforce&lt;/em&gt;&lt;/strong&gt; diikuti modenya. Argumen &lt;strong&gt;enforcing 0 Permisive&lt;/strong&gt; dan &lt;strong&gt;enforcing 1 Enforcing&lt;/strong&gt;. Untuk mematikan SELinux &lt;strong&gt;&lt;em&gt;selinux 0&lt;/em&gt;&lt;/strong&gt; dan untuk mengaktifkan &lt;strong&gt;&lt;em&gt;selinux 1&lt;/em&gt;&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host ~]# getenforce
Permissive
[user@host ~]# setenforce Enforcing
[user@host ~]# getenforce
Enforcing
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;Setting the default SELinux mode&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Anda dapat mengkonfigurasi &lt;strong&gt;SELinux&lt;/strong&gt; secara default dengan mengubah file &lt;em&gt;/etc/selinux/config&lt;/em&gt;. Misalnya &lt;em&gt;enforcing&lt;/em&gt; .&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes
#               are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>ramadhanbersamaredhat</category>
      <category>linux</category>
      <category>selinux</category>
      <category>rha134</category>
    </item>
    <item>
      <title>Bash Shell Script</title>
      <dc:creator>Muhammad Fauzi</dc:creator>
      <pubDate>Sun, 17 Mar 2024 07:21:40 +0000</pubDate>
      <link>https://dev.to/whoame3f/hello-world-2085</link>
      <guid>https://dev.to/whoame3f/hello-world-2085</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbbima4lc2fa0vz5bqrxf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbbima4lc2fa0vz5bqrxf.png" alt="Image description" width="200" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Writing Simple Bash Scripts
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Membuat dan Menjalankan Bash Shell Script&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Bash shell&lt;/strong&gt; adalah file yang dapat dieksekusi yang berisi daftar perintah, dan mungkin dikombinasikan dengan logika pemrograman untuk mengontrol pengambilan keputusan dalam keseluruhan tugas. Jika ditulis dengan baik, skrip shell merupakan alat baris perintah yang kuat, dan dapat dimanfaatkan oleh skrip lain.&lt;br&gt;
Pengetahuan tentang skrip shell sangat penting dalam lingkungan perusahaan, di mana penggunaan skrip dapat meningkatkan efisiensi dan akurasi penyelesaian tugas rutin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Menentukan Penerjemah Perintah&lt;/strong&gt;&lt;br&gt;
Baris pertama suatu script harus diawali dengan notasi &lt;strong&gt;#!&lt;/strong&gt;, biasa disebut &lt;em&gt;sh-bang&lt;/em&gt; atau &lt;em&gt;she-bang&lt;/em&gt;, nama kedua karakter tersebut, &lt;em&gt;sharp&lt;/em&gt; &lt;strong&gt;“#”&lt;/strong&gt; dan &lt;em&gt;bang&lt;/em&gt; &lt;strong&gt;“!”&lt;/strong&gt;. Notasi dua byte khusus ini menunjukkan skrip interpretatif; sintaks yang mengikuti notasi adalah nama file yang sepenuhnya memenuhi syarat untuk command interpreterkebutuhan yang benar untuk memproses baris skrip ini. Untuk file skrip yang menggunakan sintaks skrip Bash, baris pertama skrip shell dimulai sebagai berikut:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/bin/bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Menjalankan Bash Shell Script&lt;/strong&gt;&lt;br&gt;
Ketika file script telah dibuat dan selesai, harus diberikan permissions executable(x) dengan perintah chmod, agar bisa dijalankan. Anda juga bisa mencantumkan file script tersebut pada directory Shell PATH agar anda dapat memanggil script anda hanya dengan nama filenya saja tanpa menuliskan path absolutnya. Gunakan command which diikuti nama file anda untuk melihat nama path dapat di jalankan.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host ~]$ which hello
~/bin/hello
[user@host ~]$ echo $PATH
/home/user/.local/bin:/home/user/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Quoting Special Characters&lt;/strong&gt;&lt;br&gt;
Sejumlah karakter dan kata memiliki arti khusus pada shell Bash. Namun, terkadang Anda ingin menggunakan karakter ini untuk nilai literalnya, bukan untuk arti khususnya. Untuk melakukan ini, gunakan salah satu dari tiga alat untuk menghapus (ataumelarikan diri) arti khusus: garis miring terbalik (\), tanda kutip tunggal (''), atau tanda kutip ganda ("").&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Karakter &lt;strong&gt;#&lt;/strong&gt; adalah sebuah komen yang tidak dijalankan oleh bash. Kecuali jika anda menambahkan karakter &lt;strong&gt;/&lt;/strong&gt; sebelum &lt;strong&gt;#&lt;/strong&gt; maka akan ditafsirkan/jalankan.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gunakan tanda kutip ganda &lt;strong&gt;(" ")&lt;/strong&gt; untuk menekan ekspansi globbing dan shell, namun tetap mengizinkan substitusi perintah dan variabel. Substitusi variabel secara konseptual identik dengan substitusi perintah, tetapi dapat menggunakan sintaks kurung kurawal opsional. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gunakan tanda kutip tunggal &lt;strong&gt;(' ')&lt;/strong&gt; untuk menafsirkan seluruh teks secara harfiah. Selain menekan ekspansi globbing dan shell, kutipan mengarahkan shell untuk juga menekan substitusi perintah dan variabel. Tanda tanya &lt;strong&gt;( ? )&lt;/strong&gt;adalah tanda meta-characteryang juga perlu dilindungi dari perluasan.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Memberi Output dari Shell Script&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;echo&lt;/strong&gt; menampilkan teks arbitrer dengan meneruskan teks tersebut sebagai argumen ke perintah. Secara default, teks ditampilkan aktifkeluaran standar (STDOUT), tapi bisa juga ditujukan kekesalahan standar (STDERR) menggunakan pengalihan keluaran.&lt;/p&gt;
&lt;h1&gt;
  
  
  Loops to Iterate Commands
&lt;/h1&gt;

&lt;p&gt;Memungkinkan kemudahan bagi seorang administrasi untuk menggunakan beberapa comand yang berulang dalam waktu tertentu misalkan selama 10 menit dalam sehari.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Memproses Item dari Baris Perintah&lt;/strong&gt;&lt;br&gt;
Anda dapat menggunakan struktur seperti:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for VARIABLE in LIST; do
COMMAND VARIABLE
done
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Loop memproses string yang disediakan di LIST secara ber urutan satu per satu dan dikeluarkan setelah memproses string terakhir dalam daftar. Setiap daftar disimpan pada VARIABLE untuk sementara saat foor loop mengeksekusi perintah yang dalam kontruksinya. Contoh:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host ~]$ for HOST in host{1,2,3}; do echo $HOST; done 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Kode Keluar dalam Skrip&lt;/strong&gt;&lt;br&gt;
exit digunakan untuk menghentikan eksekusi script dan mengembalikan nilai keluaran (exit code). Merupakan kode keluaran yang akan dikembalikan oleh sistem operasi. Dapat berupa angka dari 0 – 255. Nila 0 berarti tidak terjadi eror/script berjalan sukses dan 1-255 menunjukan adanya eror dalam menjalankan script. Kode keluar ini disimpan dalam variabel ?.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host bin]$ cat hello
#!/bin/bash
echo "Hello, world"
exit 0
[user@host bin]$ ./hello
Hello, world
[user@host bin]$ echo $?
0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Testing Script Inputs&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;test&lt;/strong&gt; memriksa integritas. Perintah ini menghasilkan kode keluar yang disimpan sebagai nilai pada &lt;strong&gt;$?&lt;/strong&gt;.&lt;br&gt;
untuk menampilkan nilainya, tampilkan nilainya dengan echo &lt;strong&gt;$?&lt;/strong&gt; Setelah perintah test. Nilai &lt;strong&gt;0&lt;/strong&gt; adalah &lt;strong&gt;True&lt;/strong&gt; dan &lt;strong&gt;1&lt;/strong&gt; adalah &lt;strong&gt;False&lt;/strong&gt;. Pengujian dapat menggunakan berbagai operator, misalnya lebih besar dari, lebih besari atau sama dengan, lebih kecil dari, lebih kecil atau sama dengan, atau sama dengan.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host ~]$ test [ 1 -gt 0 ] ; echo $?
0
[user@host ~]$ test [ 0 -gt 1 ] ; echo $?
1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Struktur Bersyarat
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Konstruksi if/then&lt;/strong&gt;&lt;br&gt;
Jika suatu kondisi terpenuhi, maka satu atau lebih tindakan akan dieksekusi. Jika kondisi tertentu tidak terpenuhi, maka tidak ada tindakan yang dijalankan.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host ~]$ if  [ $? -ne 0 ]; then
&amp;gt; sudo systemctl start psacct
&amp;gt; fi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Konstruksi if/then/else&lt;/strong&gt;&lt;br&gt;
Konstruknya &lt;strong&gt;if/then&lt;/strong&gt; dapat diperluas lebih lanjut sehingga rangkaian tindakan yang berbeda dapat diambil tergantung pada apakah suatu kondisi terpenuhi. Hal ini dicapai dengan &lt;strong&gt;if/then/else&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host ~]$ systemctl is-active psacct &amp;gt; /dev/null 2&amp;gt;&amp;amp;1
[user@host ~]$ if  [ $? -ne 0 ]; then
&amp;gt; sudo systemctl start psacct
&amp;gt; else
&amp;gt; sudo systemctl stop psacct
&amp;gt; fi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Kontruksi  if/then/elif/then/else&lt;/strong&gt;&lt;br&gt;
Untuk menguji lebih dari satu kondisi, mengeksekusi serangkaian tindakan yang berbeda ketika suatu kondisi terpenuhi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host ~]$ systemctl is-active mariadb &amp;gt; /dev/null 2&amp;gt;&amp;amp;1
MARIADB_ACTIVE=$?
[user@host ~]$ sudo systemctl is-active postgresql &amp;gt; /dev/null 2&amp;gt;&amp;amp;1
POSTGRESQL_ACTIVE=$?
[user@host ~]$ if  [ "$MARIADB_ACTIVE" -eq 0 ]; then
&amp;gt; mysql
&amp;gt; elif  [ "$POSTGRESQL_ACTIVE" -eq 0 ]; then
&amp;gt; psql
&amp;gt; else
&amp;gt; sqlite3
&amp;gt; fi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Mencocokkan Teks dalam Output Perintah &lt;br&gt;
grep&lt;/strong&gt; adalah perintah yang digunakan untuk mencari teks dalam satu atau lebih file atau output dari perintah lain. Berikut adalah beberapa contoh penggunaan umum.&lt;br&gt;
Contoh berikutnya menggunakan beragam file konfigurasi dan file log.&lt;br&gt;
Ekspresi reguler peka huruf besar-kecil secara default. Gunakan &lt;strong&gt;-i&lt;/strong&gt; opsi dengan &lt;strong&gt;grep&lt;/strong&gt; untuk menjalankan pencarian yang tidak peka huruf besar-kecil. Contoh berikut mencari server root.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host ~]$ cat /etc/httpd/conf/httpd.conf
...output omitted...
ServerRoot "/etc/httpd"

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the &amp;lt;VirtualHost&amp;gt;
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80
...output omitted...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user@host ~]$ grep -i serverroot /etc/httpd/conf/httpd.conf
# with "/", the value of ServerRoot is prepended -- so 'log/access_log'
# with ServerRoot set to '/www' will be interpreted by the
# ServerRoot: The top of the directory tree under which the server's
# ServerRoot at a non-local disk, be sure to specify a local disk on the
# same ServerRoot for multiple httpd daemons, you will need to change at
ServerRoot "/etc/httpd"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>linux</category>
      <category>bash</category>
      <category>ramadhanbersamaredhat</category>
      <category>redhat</category>
    </item>
  </channel>
</rss>
