GNU/Linux >> Belajar Linux >  >> Ubuntu

Sudo:/var/lib/sudo/navneet Dapat Ditulis Oleh Bukan Pemilik (040777), Haruskah Mode 0700?

Kesalahan ini terjadi setiap kali saya mencoba bekerja dengan sudo . Saya mengubah izin /var/ folder ke 777 dan saya pikir ini menyebabkan kesalahan. Tolong bantu saya mendapatkan kembali sudo yang berfungsi dan /var .

Jawaban Terbaik

Anda memiliki masalah yang sangat besar, tetapi tidak benar-benar untuk alasan yang disebutkan di sini.

Mengubah izin pada semua /var kemungkinan besar Anda tidak akan mendapatkan semuanya kembali dengan benar, karena Anda tidak akan tahu izin apa yang setiap file harus memiliki . Anda mungkin memiliki masalah nanti. Tergantung pada situasinya, masalah Anda mungkin terkait dengan keamanan.

Oleh karena itu, Anda mungkin ingin mempertimbangkan untuk menginstal ulang Ubuntu. Atau, Anda dapat mencoba mendapatkan izin dari file di sistem lain yang serupa dan tidak terputus. Izinnya biasanya sama. Biasanya. Masalah yang lebih serius adalah kemungkinan sistem Anda memiliki beberapa file di /var yang tidak ada di yang lain, jadi mungkin tidak semua izin akan diperbaiki.

Melakukan tugas administratif pada sistem desktop tanpa sudo yang berfungsi biasanya sangat mudah.

Mengubah izin kembali ketika Anda tahu apa yang seharusnya itu mudah, dan jarang memerlukan boot ke mode pemulihan atau dari live CD. Ini karena, meskipun tidak diketahui secara luas, versi desktop Ubuntu (dan sebagian besar sistem operasi GNU/Linux lainnya saat ini) memiliki dua cara mengatur untuk melakukan tugas administratif:

  • sudo , yang tidak akan berfungsi karena memerlukan izin di /var untuk menjadi benar.
  • PolicyKit, yang cenderung lebih toleran terhadap izin yang salah dan biasanya masih berfungsi.

Sementara kita cenderung memikirkan sudo sebagai cara Anda melakukan tindakan sebagai root di Ubuntu, sebenarnya PolicyKit adalah cara yang paling, meskipun tidak semua, utilitas grafis menjadi root . (Sudah seperti ini selama beberapa tahun sekarang.)

Sebenarnya, menjalankan program grafis secara manual dengan PolicyKit terkadang merupakan tugas yang signifikan karena aplikasi grafis harus memiliki file konfigurasi khusus agar PolicyKit dapat menjalankannya. Tapi aplikasi terminal jangan — menjalankan perintah berbasis teks dengan PolicyKit sama mudahnya dengan sudo .

Untuk melakukannya, ketik pkexec tempat Anda mengetik sudo . (Mereka tidak mengambil semua opsi baris perintah yang sama, tetapi sintaks yang paling umum untuk sudo adalah sudo command , dan pkexec bekerja dengan sempurna di tempatnya.)

Jadi, karena sudo rusak, Anda tidak dapat menjalankan:

sudo chmod 0755 /mnt/var/lib/sudo
sudo chmod 0700 /mnt/var/lib/sudo/<username>

Tapi Anda bisa jalankan:

pkexec chmod 0755 /mnt/var/lib/sudo
pkexec chmod 0700 /mnt/var/lib/sudo/<username>

Itu awal yang baik, dan mungkin akan membuat sudo kerja lagi. (Ini tidak akan memperbaiki semua file lain di /var , meskipun.)

Terkait:Bagaimana cara mengubah posisi laucher sisi kesatuan dari kiri ke kanan ubuntu 14.04?

Situasi terkait (tetapi, dalam banyak kasus, tidak identik) di mana pkexec sangat membantu:
Bagaimana cara mengubah file /etc/sudoers yang tidak valid? Itu menimbulkan kesalahan dan tidak memungkinkan saya untuk mengedit lagi untuk memperbaikinya
secara tidak sengaja memblokir akses ke sudoers.d ketika mencoba mengubah konfigurasi ushare
'sudo' tidak berfungsi setelah mengubah izin '/ usr' directory
Bagaimana cara memperbaiki sudo setelah “chmod -R 777 /usr/bin”?, kesalahan sudo, adalah mode 0777, seharusnya 0440,
          Bagaimana cara memperbaiki “sudo:/etc/sudoers adalah mode 0640, seharusnya 0440?”
Menginstal ZFS mengubah file sudoers saya
Kata sandi tidak berfungsi untuk sudo (“Kegagalan otentikasi”)
Mengapa tidak ada yang berhasil setelah saya mengubah beberapa izin file secara acak?
mengubah izin /etc di oneiric (ubuntu11.10) dengan menggunakan “sudo chmod 665 /etc” tidak dapat menggunakan sudo sekarang
Bagaimana cara menjalankan perintah sudo tertentu tanpa kata sandi? (hanya jika terjadi kesalahan)
Tidak dapat menulis /etc/sudoers dari live CD Ubuntu (hanya jika terjadi kesalahan)


Ubuntu
  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Debian – Memindahkan /var, /home Untuk Memisahkan Partisi?

  3. Perbedaan Antara /var/log/messages, /var/log/syslog, Dan /var/log/kern.log?

  1. Sudo Tidak Meminta Kata Sandi Lagi?

  2. Modul Node Memiliki 755 Izin, Izin Apa yang Harus Saya Tetapkan Agar Npm Tidak Memerlukan Sudo?

  3. “sudo:/etc/sudoers is world writable” – Cara memperbaiki hak akses file sudoers

  1. Gunakan repositori git di /var/www/html/

  2. Django static_root di /var/www/... - tidak ada izin untuk mengumpulkan statis

  3. unix:///var/run/supervisor.sock tidak ada file seperti itu