Sublime Text 3 pertanyaan otentikasi saat menyimpan dokumen

11

Saya menggunakan Teks Luhur untuk pengembangan web. Setiap kali saya mencoba menyimpan perubahan (Ctrl + S), jendela otentikasi muncul:

Diperlukan otentikasi untuk menjalankan '/ bin / cp' sebagai pengguna super

Jelas, ketika saya memasukkan kata sandi, Sublime menyimpan perubahan dengan benar. Tetapi ketika saya menekan Batal , jendela lain muncul dengan kesalahan:

Kesalahan: administrator_copy_file (/tmp/.Some_File_Here, / var / www / Rest_Of_Path_Here) gagal: Otorisasi gagal

Karena saya cukup baru di Ubuntu, saya tidak tahu bagaimana cara menghilangkan otorisasi yang muncul. Saya memiliki semua izin untuk folder / var / www .

LAGI
sumber
Anda yakin pengguna Anda memiliki izin menulis /var/wwwtanpa menjadi root (mis. Menggunakan sudo)?
David Bailey
@ DavidBailey Saya punya izin menulis untuk /var/wwwtetapi tidak ke subfolder. Aku sudah melakukan chownpada /var/wwwtetapi ketika saya sudah memeriksa hak akses pada subfolder, ex. /var/www/First_Site, itu milik www-data. Saya pikir chownpada folder utama akan memberi saya izin juga untuk semua subfolder / file di dalamnya.
LAGU

Jawaban:

6

Anda tidak memiliki izin untuk menulis surat /var/www/Rest_Of_Path_Here. ST3 sedang mencoba untuk meningkatkan UID untuk menulis sebagai pengguna yang benar (maka sudo prompt). Saya tidak tahu itu bisa melakukan ini, tetapi saya sudah mengujinya dan itu berfungsi sehingga Anda pergi.

Ada beberapa cara untuk memperbaikinya:

  1. Izinkan pengguna Anda untuk menulis file secara langsung . Banyak sekali pilihan di sini:

    • chownfile sehingga Anda memilikinya. Ini dapat mengganggu hal-hal yang berjalan sebagai pengguna lain yang mungkin juga perlu menulis, misalnya server web yang berjalan sebagai pengguna-www. Anda mungkin perlu mengubah apa yang dijalankannya juga.
    • Tambahkan pengguna Anda ke www-datagrup dan ubah file mask 774agar anggota grup dapat menulis / mengeksekusi.
    • Ubah file mask agar pengguna lain dapat menulis (mis. 777) ... Tapi ini cukup berisiko jika sudah ada sesuatu yang jahat di server.
    • Gunakan ACL untuk memungkinkan pengguna Anda menulis tanpa mengganggu kerangka kerja izin standar.
  2. Ubah alur kerja Anda untuk menulis ke sistem kontrol versi (misalnya git) sebagai pengguna Anda, dan kemudian jalankan skrip saat pengguna lain memeriksanya. Ini membawa manfaat lain.

  3. Jalankan ST3 sebagai pengguna yang dapat menulis di sana:

    sudo -u www-data subl /var/www/Rest_Of_Path_Here
    

    Ini jauh lebih jelek daripada hanya memperbaiki file.

Oli
sumber
Kamu benar. Saya hanya memiliki hak untuk folder / var / www , tetapi tidak untuk semua subfolder di dalamnya, yang menjadi miliknya www-data. Saya pikir solusi terbaik di sini adalah menambahkan pengguna saya ke www-datagrup.
LAGU
Hanya untuk memberi tahu siapa pun. Menambahkan pengguna saya ke www-datagrup memecahkan masalah. Saya hanya perlu me-reboot sistem setelah ini. @Oli terima kasih.
LAGU
4

Saya memiliki masalah yang sama dan dapat menyelesaikannya dengan memberikan hak kepada pengguna ke folder tertentu yang harus saya edit dalam teks Sublime 3. Saya menggunakan perintah berikut:

sudo chmod 775 -R projectname/   
sudo chown username -R projectname/

Saya pikir ini mungkin bermanfaat bagi orang lain di masa depan.

Isaac Shrestha
sumber
Terima kasih banyak
:)
0

Tambahkan pengguna Anda ke grup pengguna administrator dengan salah satu di bawah ini berdasarkan pada versi Ubuntu yang Anda gunakan. Coba keduanya:

sudo usermod -a -G admin username

ATAU

sudo usermod -a -G sudo username

Jika Anda sudah berada di grup admin coba chowndi folder.

Sharad Gautam
sumber
Mengapa? Ada setiap saran bahwa mereka sudah ada di grup sudo / admin (berfungsi ketika mereka memasukkan kata sandi mereka).
Oli
Mungkin surat chownwasiat @Oli
Sharad Gautam
0

Saya memiliki masalah yang sama, mencoba mengedit file server apache saya dengan teks-luhur dan saya tidak ingin mengacaukan izin server web saya. Mengubah file Anda g + w dan menempatkan pengguna Anda di grup www-data bukanlah ide yang sangat aman.

Apa yang saya sarankan menggunakan plugin SFTP untuk teks-luhur:

  • duplikat file server web Anda ke folder milik pengguna Anda sendiri
  • konfigurasikan plugin SFTP dengan:
"upload_on_save": true,
"host": "localhost",
"user": "www-data",

Jangan berikan kata sandi dalam konfigurasi karena ini juga lubang keamanan utama.

Sublime-text akan meminta kata sandi Anda sekali dan kemudian akan mengingatnya untuk sesi ini. Setelah setiap file disimpan, itu akan membuka sesi sftp ke localhost dan akan menulis file ke disk dengan pengguna yang sesuai

Pascal Fournier
sumber
0

Lakukan hal berikut di terminal Linux / Unix Anda:

sudo chmod -R 777 project-name
sudo chown user-name project-name

Mencoba -R 775dan tidak berhasil begitu -R 777juga triknya meskipun saya telah memberikan izin menulis untuk semua proyek

Jose Mhlanga
sumber