Saya memiliki ujian direktori dengan 2 file di dalamnya. Saya perlu menghapus file tetapi izin ditolak. Bahkan rm -rf
perintah tidak dapat menghapus file-file ini. Saya masuk sebagai pengguna root.
linux
files
permissions
rm
Anjing kampung
sumber
sumber
ls -la
, sehingga kami dapat melihat izin di.
(direktori).Jawaban:
Dari pengguna root memeriksa atribut file
jika Anda perhatikan
i
(tidak berubah) ataua
(hanya-tambahkan), hapus atribut tersebut:sumber
Alasan paling umum untuk
rm
mengeluh bahwa Anda tidak memiliki izin untuk menghapus file, adalah bahwa izin pada direktori melarang Anda menghapus file. Untuk menghapus file, Anda harus menulis izin pada direktori. Izin pada file tidak relevan (rm
tanpa-f
meminta konfirmasi sebelum menghapus file read-only, tapi itu hanya konfirmasi, bukan batasan). Pada beberapa varian Unix seperti OSX (tetapi bukan Linux), ACL pada file dapat mencegah penghapusannya;ls -l
akan ditampilkan@
di akhir bidang izin jika ada entri ACL pada file.Akses sebagai root memintas izin, sehingga root dapat menghapus file bahkan dalam direktori read-only.
Output dari
ls -l
menunjukkan a.
di akhir kolom izin. Ini menunjukkan bahwa file tersebut memiliki konteks keamanan SELinux. Tidak seperti izin dasar dan ACL, konteks keamanan SELinux pada file dapat mengontrol siapa yang diizinkan untuk menghapusnya. Lebih jauh SELinux tidak selalu dapat di bypass oleh root (dimungkinkan untuk menjalankan proses sebagai ID pengguna 0 tetapi dengan hak sesedikit yang dipilih oleh perancang kebijakan SELinux). Untuk melihat apa yang bisa dilakukan oleh konteks SELinux, jalankanls -lZ . exam_a
.Hal lain yang dapat mencegah file terhapus adalah jika file atau direktori yang memuatnya memiliki atribut Linux append-only atau immutable . Jalankan
lsattr -d . exam_a
untuk melihat atribut Linux. Jika atributa
ataui
aktif, Anda harus menghapusnya (chattr -a -i . exam_a
) untuk menghapus file; hanya root yang bisa melakukannya. Root tidak dapat mem-bypass atribut ini untuk menghapus file, atribut harus dimatikan dulu.Namun hal lain yang mencegah file terhapus adalah jika sistem file di-mount hanya-baca, tetapi Anda akan mendapatkan pesan kesalahan yang berbeda dalam kasus itu.
sumber