GNU/Linux >> Belajar Linux >  >> Linux

Batasi pengguna untuk menjalankan perintah selektif (Linux)

Anda mungkin melakukan ini dengan cara yang salah. Alih-alih memberi pengguna bash shell 'terbatas', Anda sebaiknya hanya memberi mereka akses ke perintah yang mereka perlukan untuk dijalankan sebagai root. Misalnya, di file sudoers Anda:

tomc ALL=(root) /usr/bin/vim /etc/myapp.conf
tomc ALL=(root) /usr/bin/less /var/log/myapp/*.log

Berhati-hatilah saat mengizinkan pengguna menjalankan vim sebagai root. Vim memiliki banyak fitur bawaan, seperti escape ke shell dan kemampuan untuk menjalankan perintah dari dalam vim. Bergantung pada distribusi Anda, Anda mungkin memiliki sudoedit tersedia. Ini berfungsi sama dengan Vim normal, kecuali Vim ini dirancang untuk menangani shell escape dan semacamnya.


Di Synology Diskstation saya yang menjalankan DSM 6, hanya pengguna admin yang dapat melakukan ssh secara konsisten (pengguna non-admin memiliki Shell sebagai /sbin/nologin di /etc/passwd - Anda dapat menyetel ini ke /bin/sh untuk mengizinkan sementara ssh, tetapi saat reboot file /etc/passwd diatur ulang). Untuk alasan ini diperlukan semacam pembatasan sudo untuk akun yang jika tidak ada hanya untuk dieksekusi, mis. /sbin/matikan. Baris berikut di /etc/sudoers bekerja untuk saya:

# Allow guestx user to remote poweroff
guestx ALL=(ALL) !ALL
guestx ALL=NOPASSWD: /sbin/poweroff

Terjemahan:larang semua perintah, lalu izinkan hanya perintah yang diinginkan (tanpa meminta kata sandi dalam hal ini).

Dengan konfigurasi ini sudo meminta kata sandi dan kemudian gagal untuk perintah selain yang masuk daftar putih:

[email protected]:~$ sudo su -
Password: 
Sorry, user guestx is not allowed to execute '/bin/su -' as root on ds.
[email protected]:~$ 

Linux
  1. 10 perintah yang harus diketahui setiap pengguna Linux

  2. Memahami Berbagai Klasifikasi Perintah Shell dan Penggunaannya di Linux

  3. Hapus Semua Email Pengguna root dari Shell di Linux

  1. 20 perintah Linux penting untuk setiap pengguna

  2. Pelajari Perbedaan Antara Perintah "su" dan "su -" di Linux

  3. 4 Cara Menonaktifkan Akun Root di Linux

  1. Cara menyesuaikan lingkungan pengguna Linux

  2. Bagaimana Cara Menjatuhkan Hak Istimewa Root Dalam Skrip Shell?

  3. 5 Cara Mengeksekusi Perintah UNIX / Linux (dan Skrip Shell) di Latar Belakang