chown - Operasi tidak diizinkan

37

Saya masuk sebagai minime.

Saya tidak mengerti mengapa itu tidak memungkinkan saya untuk mengetahui file yang saya miliki tanpa hak istimewa. Jelas saya bisa menggunakan sudo, tapi saya ingin mengerti mengapa? karena grup www-data?

chown minime:www-data user-functions.php

ls -lh

-rw-r--r--  1 minime minime    24K Jan  6 16:11 user-functions.php

Error:

chown: changing ownership of `user-functions.php': Operation not permitted

sumber

Jawaban:

51

Pengguna yang tidak memiliki hak istimewa (bukan root) tidak dapat chownfile ke nama pengguna lain. Untuk menggunakan chown, pengguna harus memiliki hak istimewa dari pengguna target. Dengan kata lain, hanya rootdapat memberikan file ke pengguna lain.

Seperti yang dijelaskan di sini (terima kasih @slhck):

Hanya proses dengan ID pengguna efektif yang sama dengan ID pengguna file atau dengan hak istimewa yang sesuai dapat mengubah kepemilikan file. Jika _POSIX_CHOWN_RESTRICTED berlaku untuk jalur:

  • Mengubah ID pengguna dibatasi untuk proses dengan hak istimewa yang sesuai.

  • Mengubah ID grup diizinkan untuk suatu proses dengan ID pengguna yang efektif sama dengan ID pengguna file, tetapi tanpa hak istimewa yang sesuai, jika dan hanya jika pemilik sama dengan ID pengguna file atau (uid_t) -1 dan grup sama baik ke ID grup proses pemanggilan yang efektif atau ke salah satu ID grup tambahannya.

Alasan di balik ini telah baik dijelaskan oleh @Gilles di ini Unix & Linux jawabannya:

Alasan pembatasan ini adalah bahwa memberikan file ke pengguna lain dapat memungkinkan hal-hal buruk terjadi secara tidak umum, tetapi masih dalam situasi yang penting. Sebagai contoh:

  • Jika suatu sistem memiliki kuota disk yang diaktifkan, Alice dapat membuat file yang dapat ditulis oleh dunia di bawah direktori yang hanya dapat diakses olehnya (jadi tidak ada orang lain yang dapat mengakses file yang dapat ditulis itu dalam direktori), dan kemudian menjalankan chown untuk membuat file itu dimiliki oleh tagihan pengguna lain. File kemudian akan dihitung di bawah kuota disk Bill meskipun hanya Alice yang dapat menggunakan file tersebut.
  • Jika Alice memberikan file ke Bill, tidak ada jejak bahwa Bill tidak membuat file itu. Ini bisa menjadi masalah jika file tersebut berisi data ilegal atau yang membahayakan.
  • Beberapa program mengharuskan file inputnya milik pengguna tertentu untuk mengotentikasi permintaan (misalnya, file tersebut berisi beberapa instruksi yang akan dilakukan program atas nama pengguna itu). Ini biasanya bukan desain yang aman, karena bahkan jika Bill membuat file yang mengandung instruksi yang benar secara sintaksis, ia mungkin tidak bermaksud untuk mengeksekusinya pada waktu tertentu ini. Meskipun demikian, mengizinkan Alice untuk membuat file dengan konten sewenang-wenang dan menjadikannya sebagai masukan dari Bill hanya dapat memperburuk keadaan.
terdon
sumber
Terima kasih man.
terdon
besar! jauh lebih jelas sekarang ... bagaimana jika minime adalah bagian dari grup www-data?
@SandroDzneladze nggak, Anda harus memiliki ID pengguna yang sama dengan pengguna yang ingin Anda kenal.
terdon