Bagaimana cara membatasi pengguna untuk mengakses aplikasi tertentu?

8

Saya ingin membatasi aplikasi yang dibuka di bawah hak biasa. Hanya root yang akan menjalankan aplikasi, sehingga konten tidak akan dilihat oleh orang lain dan mereka tidak akan mengubah apa pun.

GKUTTY
sumber
@ VRU Saya tidak yakin tautan Anda adalah duplikat.
don.joey
1
@VRU Karena Anda tidak dapat menipu situs akros, kami pasti dapat menggunakan Tanya Jawab tentang hal ini (kecuali kami menyatakan ini di luar topik, yang saya tidak akan lakukan).
user98085
@GKUTTY untuk referensi Anda stackoverflow.com/questions/527876/…
VRU

Jawaban:

2

Seharusnya ada cara yang lebih baik untuk melakukan ini (mungkin dengan AppArmor?) Tetapi Anda selalu dapat mengubah izin yang dapat dieksekusi. Misalkan Anda ingin menonaktifkan akses nano. Izin default mereka adalah sebagai berikut:

 ➜  ls -la /bin/nano
-rwxr-xr-x 1 root root 192008 Oct  1 15:12 /bin/nano

Itu dapat dieksekusi oleh pemilik, grup dan lainnya. Untuk mempertahankan hanya eksekusi pemilik yang dapat Anda gunakan

sudo chmod g-x /bin/nano
sudo chmod o-x /bin/nano

Setelah ini, jika Anda menjalankannya di terminal sebagai pengguna biasa:

 ➜  nano
bash: /usr/bin/nano: Permission denied

Harap dicatat bahwa ini bukan solusi anti peluru. Jika aplikasi yang ingin Anda kunci memiliki titik masuk lain, mereka masih dapat diakses. Misalnya, jika Anda mencoba trik yang sama dengan Firefox:

 ➜  ls -la /usr/bin/firefox
lrwxrwxrwx 1 root root 25 Jan 17 08:26 /usr/bin/firefox -> ../lib/firefox/firefox.sh

Bahkan jika Anda membatasi akses /usr/bin/firefox, karena itu hanya tautan ke /usr/lib/firefox/firefox.shsana, masih dapat dieksekusi di sana (atau menggunakan /usr/lib/firefox/firefox, yang digunakan dalam file .sh).

Salem
sumber