GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Pengguna Normal Tidak Dapat `chown` Sebuah File?

Mengapa chown command root-only?
Mengapa pengguna non-root tidak dapat menggunakan chown untuk memberikan file yang mereka miliki?

Jawaban yang Diterima:

Kebanyakan sistem unix mencegah pengguna dari "memberikan" file, yaitu, pengguna hanya dapat menjalankan chown jika mereka memiliki hak pengguna dan grup target. Sejak menggunakan chown membutuhkan kepemilikan file atau menjadi root (pengguna tidak akan pernah dapat mengambil file pengguna lain), hanya root yang dapat menjalankan chown untuk mengubah pemilik file menjadi pengguna lain.

Alasan pembatasan ini adalah bahwa memberikan file ke pengguna lain dapat memungkinkan hal-hal buruk terjadi dalam situasi yang tidak biasa, tetapi tetap penting. Misalnya:

  • Jika sistem memiliki kuota disk yang diaktifkan, Alice dapat membuat file yang dapat ditulis dunia di bawah direktori yang hanya dapat diakses olehnya (sehingga tidak ada orang lain yang dapat mengakses file yang dapat ditulis dunia tersebut), dan kemudian menjalankan chown untuk membuat file itu dimiliki oleh Bill pengguna lain. File tersebut kemudian akan dihitung di bawah kuota disk Bill meskipun hanya Alice yang dapat menggunakan file tersebut.
  • Jika Alice memberikan file kepada Bill, tidak ada jejak bahwa Bill tidak membuat file itu. Ini bisa menjadi masalah jika file tersebut berisi data ilegal atau membahayakan.
  • Beberapa program mengharuskan file inputnya milik pengguna tertentu untuk mengautentikasi permintaan (misalnya, file berisi beberapa instruksi yang akan dijalankan program atas nama pengguna tersebut). Ini biasanya bukan desain yang aman, karena meskipun Bill membuat file yang berisi instruksi yang benar secara sintaksis, dia mungkin tidak bermaksud untuk mengeksekusinya pada saat ini. Meskipun demikian, mengizinkan Alice membuat file dengan konten arbitrer dan mengambilnya sebagai masukan dari Bill hanya akan memperburuk keadaan.

Linux
  1. Linux chmod and chown – Cara Mengubah Izin dan Kepemilikan File di Linux

  2. Mengapa kita membutuhkan file .so.1 di Linux?

  3. Mengapa setuid diabaikan pada direktori?

  1. Menggunakan chown untuk mengubah pemilik grup direktori tidak diizinkan....Mengapa?

  2. Apakah ada file yang selalu ada dan pengguna 'normal' tidak dapat mengaktifkannya?

  3. Centos 7 - menambahkan pengguna ke grup sudoers - masih belum ada dalam file sudoers - mengapa?

  1. Mengapa Podman rootless tidak dapat menarik gambar saya?

  2. Pengantar pemantauan akun pengguna Linux

  3. Mengapa menggunakan shm_open?