GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Membuat Akun Pengguna Hanya-Baca di CentOS/RHEL 7

Pertanyaan :Bagaimana cara membuat akun pengguna yang tidak dapat menulis ke file apa pun di sistem? Dengan kata lain, bagaimana cara membuat akun pengguna hanya-baca di CentOS/RHEL 7?

Linux tidak menyediakan klasifikasi akun tingkat peran. Izin akses dikendalikan pada tingkat I-node yang menyiratkan izin untuk setiap file atau direktori secara terpisah.

Jika kita dapat menyatakan kembali masalahnya sedikit, setidaknya ada dua teknik yang dapat memberikan operasi yang diinginkan. Alih-alih berpikir dalam hal akun pengguna, pikirkan dalam hal file dan direktori. Hal ini memungkinkan kita beberapa metode alternatif untuk mencapai hasil yang hampir sama. Setiap item di bawah ini menunjukkan implementasi alternatif yang memberikan perlindungan sedikit berbeda yang mungkin berguna dalam beberapa kasus penggunaan.

Buat akun anonim tanpa hak istimewa

Setiap file atau direktori di Linux memiliki tiga set izin baca/tulis/eksekusi, masing-masing untuk pemilik file, pengguna lain dalam grup yang sama dengan pemilik asli, dan semua lainnya. Akun baru dapat dibuat dengan ID pengguna dan ID grup yang unik dan akun baru ini digunakan sebagai akun hanya-baca. Karena akun tidak akan memiliki file di luar direktori home-nya, satu-satunya izin akses adalah izin "lainnya", yang biasanya menghilangkan izin akses tulis.

# useradd -c 'Mostly R/O Account' roaccount

roaccount akan memiliki ID pengguna unik dan ID grup yang ditetapkan, yang memaksa file apa pun di luar direktori asalnya untuk dikontrol oleh izin akses "lainnya". O/S sudah memiliki akun dengan hak paling rendah, tetapi akun ini diperlakukan secara khusus oleh sistem. Akun terpisah disarankan untuk penggunaan R/O.

Kelemahan dalam skema ini adalah ia bergantung pada setiap file dan setiap direktori di server dan penyimpanan untuk mengatur izin "lainnya" dengan benar. Ini dapat dilakukan secara manual atau dengan mengatur umask proses pembuatan ke setidaknya 0002 (yang memblokir pengaturan izin menulis “lainnya”).

Menerima pemberitahuan ketika file tertentu ditulis.

Jika tujuannya adalah untuk menentukan semua file yang ditulis oleh pengguna tertentu, alat auditctl mungkin berguna. Jam tangan dapat disetel pada panggilan sistem tulis yang terpicu saat dilakukan oleh pengguna tertentu. Misalnya pengaturan:

# auditctl -a always,exit -S write -F auid=1000

akan memicu entri jejak audit setiap kali ID pengguna 1000 menulis ke file apa pun. Subsistem jejak audit cukup ekspresif dalam kondisi yang dapat diekspresikan.

Temukan dokumentasi lainnya di halaman manual audit.rules.

# man audit.rules

Gunakan daftar kontrol akses (ACL) untuk mengesampingkan izin.

Beberapa penangan sistem file mendukung daftar kontrol akses (ACL) yang merupakan izin yang lebih halus daripada yang diizinkan oleh pemilik/grup/divisi lain. File atau direktori individual dapat menggunakan ACL untuk memilih sekumpulan pengguna tertentu, tidak harus dalam grup yang sama, dan hanya memberikan izin akses file yang diinginkan kepada pengguna tersebut.

Sebagai contoh, kita ingin memberikan userA, userB, dan userC akses read-only ke direktori /secret-files/ dan di bawahnya. Kita bisa melakukannya seperti ini:

# setfacl -Rd -m u:userA:rx -m u:userB:rx -m u:userC:rx /secret-files
# setfacl -R  -m u:userA:rx -m u:userB:rx -m u:userC:rx /secret-files

Baris pertama menetapkan ACL default yang akan diterapkan ke file atau direktori baru yang dibuat di bawah /secret-files di masa mendatang. File kedua menerapkan ACL ke konten apa pun yang ada di pohon /secret-files dan di bawahnya.

Untuk detail lebih lanjut tentang fitur ini, periksa halaman aclman.

# man acl


Cent OS
  1. Cara mengecilkan sistem file root di CentOS / RHEL 6

  2. Bagaimana menjalankan rsyslog sebagai pengguna non-root di CentOS/RHEL 7

  3. Cara membuat CentOS/RHEL 7 FIPS 140-2 sesuai

  1. Cara Memasang File RPM Di OS Linux (CentOS, RHEL, &Fedora)

  2. CentOS / RHEL :Bagaimana cara menambahkan file swap

  3. Cara Menambahkan Lokal di CentOS/RHEL 8

  1. Bagaimana cara menambahkan pengguna ke grup di RHEL 8 / CentOS 8

  2. Cara menginstal file deb di RHEL 8 / CentOS 8 Linux

  3. Cara menginstal file bin di RHEL 8 / CentOS 8 Linux