Rumah  >  Artikel  >  Tutorial sistem  >  Sebab untuk kebenaran Linux dinafikan pengecualian

Sebab untuk kebenaran Linux dinafikan pengecualian

WBOY
WBOYasal
2024-02-20 10:43:051361semak imbas

Sistem pengendalian Linux ialah sistem pengendalian sumber terbuka yang digunakan secara meluas pada pelbagai peranti seperti pelayan dan komputer peribadi. Apabila menggunakan Linux, anda sering menghadapi pengecualian "Kebenaran Ditolak". Artikel ini akan meneroka punca pengecualian ini dan memberikan contoh kod khusus.

Setiap fail dan direktori dalam Linux mempunyai tetapan kebenaran yang sepadan untuk mengawal kebenaran membaca, menulis dan melaksanakan pengguna. Kebenaran dibahagikan kepada tiga peringkat: kebenaran pengguna, kebenaran kumpulan dan kebenaran pengguna lain. Apabila pengguna cuba melakukan operasi tetapi tidak mempunyai kebenaran yang mencukupi, sistem membuang pengecualian "Kebenaran Ditolak".

Jadi apakah sebab pengecualian "Kebenaran Ditolak"? Mari analisa beberapa situasi biasa.

  1. Kebenaran fail atau direktori yang salah

Apabila tetapan kebenaran fail atau direktori tidak membenarkan pengguna semasa melakukan operasi tertentu, pengecualian yang ditolak kebenaran akan berlaku. Sebagai contoh, jika kami cuba memadam fail yang hanya pengguna root mempunyai kebenaran untuk memadam, sistem akan melaporkan ralat.

Kod sampel:

$ rm /root/important_file
rm: cannot remove '/root/important_file': Permission denied
  1. Kebenaran yang tidak mencukupi untuk menjalankan program

Sesetengah program memerlukan pengguna root untuk dijalankan dengan jayanya, dan apabila pengguna semasa tidak mempunyai kebenaran yang mencukupi, pengecualian "Kebenaran Ditolak" juga akan dilaporkan. Sebagai contoh, jika kita cuba mengubah suai fail konfigurasi sistem tertentu, kita perlu menjalankan editor sebagai pengguna akar, tetapi jika pengguna semasa ialah pengguna biasa, ralat akan dilaporkan.

Kod sampel:

$ vi /etc/ssh/sshd_config
E212: Can't open file for writing
  1. Sistem fail di mana fail atau direktori terletak adalah baca sahaja

Apabila sistem fail di mana fail atau direktori terletak dipasang dalam mod baca sahaja, tiada apa yang boleh dilakukan pada operasi menulis sistem fail. Apabila cuba menulis, sistem akan membuang pengecualian "Kebenaran Ditolak".

Kod contoh:

$ touch /mnt/readonly/file.txt
touch: cannot touch '/mnt/readonly/file.txt': Read-only file system
  1. Pengguna tidak mempunyai kebenaran untuk mengakses direktori induk

Kadangkala, pengecualian kebenaran mungkin disebabkan oleh pengguna tidak mempunyai kebenaran untuk mengakses direktori induk. Sebagai contoh, jika pengguna cuba mengakses direktori tetapi tidak mempunyai kebenaran untuk mengakses direktori induk direktori, sistem akan melaporkan ralat.

Kod sampel:

$ cd /root/important_directory
-bash: cd: /root/important_directory: Permission denied
  1. Sumber dikunci oleh proses lain

Dalam sistem Linux, sesetengah sumber hanya boleh digunakan oleh satu proses pada masa yang sama. Apabila proses lain telah mengunci sumber, proses lain tidak akan dapat mendapatkan hak akses kepada sumber dan akan melaporkan ralat.

Kod sampel:

$ echo "data" > /var/lockfile
-bash: /var/lockfile: Permission denied

Di atas adalah beberapa punca biasa pengecualian "Kebenaran Ditolak" Apabila kami menghadapi pengecualian ini, kami boleh mengambil penyelesaian yang sepadan mengikut situasi tertentu:

  • Semak tetapan kebenaran fail atau direktori. , pastikan pengguna semasa mempunyai kebenaran yang mencukupi untuk beroperasi;
  • Jika anda perlu menjalankan program sebagai pengguna akar, anda boleh menggunakan arahan sudo
  • Periksa sama ada sistem fail dipasang dalam mod baca sahaja, dan cuba untuk melekapkannya semula sebagai mod baca-tulis ;
  • Pastikan pengguna semasa mempunyai hak akses kepada direktori induk;
  • Semak sama ada sumber dikunci oleh proses lain, anda boleh cuba menunggu proses lain mengeluarkan sumber tersebut.

Ringkasnya, pengecualian "Kebenaran Ditolak" biasanya disebabkan oleh kebenaran pengguna yang tidak mencukupi Kami hanya perlu membuat pelarasan yang sepadan mengikut situasi khusus untuk menyelesaikan masalah. Dengan memahami sebab biasa ini dan menganalisis contoh kod, kami boleh memahami dan mengendalikan pengecualian kebenaran yang berlaku dalam sistem pengendalian Linux dengan lebih baik.

Atas ialah kandungan terperinci Sebab untuk kebenaran Linux dinafikan pengecualian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel berkaitan

Lihat lagi