Belgeyi kaydederken Yüce Metin 3 kimlik doğrulama sorusu


11

Web geliştirme için Sublime Text kullanıyorum. Değişiklikleri (Ctrl + S) her kaydetmeye çalıştığımda, kimlik doğrulama penceresi açılır:

'/ Bin / cp' dosyasını süper kullanıcı olarak çalıştırmak için kimlik doğrulaması gerekiyor

Açıkçası, şifreyi girdiğimde, Sublime değişiklikleri doğru bir şekilde kaydeder. Ancak İptal'e bastığımda , başka bir pencere hata ile açılır:

Hata: admin_copy_file (/tmp/.Some_File_Here, / var / www / Rest_Of_Path_Here) başarısız oldu: Yetkilendirme başarısız oldu

Ubuntu için oldukça yeni olduğum için bu yetkilendirme penceresinden nasıl kurtulacağımı bilmiyorum. / Var / www klasörüne tüm izinlerim var .


Kullanıcının /var/wwwroot olmadan yazma iznine sahip olduğundan emin misiniz (örn. Kullanarak sudo)?
David Bailey

@DavidBailey /var/wwwAlt klasörlere yazma iznim var, ancak yok. Yaptığım chownüzerinde /var/wwwama alt klasörler, eski izinlerini kontrol ettim ne zaman. /var/www/First_Site, aittir www-data. Ben düşündüm chownbir ana klasörde içindeki tüm alt klasörler / dosyaları da beni izinleri verecektir.
SONGE

Yanıtlar:


6

Yazma izniniz yok /var/www/Rest_Of_Path_Here. ST3 doğru kullanıcı olarak yazmak için UID'sini yükseltmeye çalışıyor (dolayısıyla sudo istemi). Bunu yapabileceğini bilmiyordum ama test ettim ve işe yarıyor.

Bunu düzeltmenin birkaç yolu vardır:

  1. Kullanıcının dosyaları doğrudan yazmasına izin verin . Burada birçok seçenek var:

    • chowndosyaları onlara sahip. Bu, diğer kullanıcılar gibi çalışan şeyleri de bozabilir, örneğin www-kullanıcı olarak çalışan bir web sunucusu. Çalıştıkları şeyi de değiştirmeniz gerekebilir.
    • Kullanıcıyı www-datagruba ekleyin ve grubun 774üyelerinin yazabilmesi / yürütebilmesi için dosya maskesini değiştirin .
    • Dosya maskesini diğer kullanıcıların yazabilmesi için değiştirin (örn. 777) ... Ancak sunucuda zaten kötü amaçlı bir şey varsa bu oldukça risklidir.
    • Kullanıcının standart izinler çerçevesini bozmadan yazmasına izin vermek için ACL'leri kullanın .
  2. Kullanıcı akışınız olarak bir sürüm kontrol sistemine (ör. Git) yazmak için iş akışınızı değiştirin ve ardından diğer kullanıcı tarafından kontrol edilen bir komut dosyasının çalışmasını sağlayın. Bu başka faydalar da sağlar.

  3. Orada yazabilecek bir kullanıcı olarak ST3'ü çalıştırın:

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

    Bu sadece dosyaları düzeltmekten çok daha çirkin.


Haklısın. Ben sadece / var / www klasörü hakları var , ama ait tüm alt klasörleri için değil www-data. Buradaki en iyi çözümün kullanıcılarımı www-datagruba eklemek olacağını düşünüyorum .
SONGE

Sadece kimseye haber vermek için. Kullanıcıyı www-datagruba eklemek sorunu çözdü. Bundan sonra sistemi yeniden başlatmak zorunda kaldım. Teşekkürler @Oli.
SONGE

4

Aynı sorunu vardı ve Yüce metin 3'te düzenlemek zorunda kaldım belirli klasöre kullanıcı hakkı sağlayarak çözmeyi başardı. Aşağıdaki komutları kullandım:

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

Gelecekte başkalarına yardımcı olabileceğini düşünüyorum.


Çok teşekkürler
:)

0

Kullandığınız Ubuntu sürümüne bağlı olarak, kullanıcılarınızı yönetici kullanıcı grubuna aşağıdakilerden biriyle ekleyin. Her ikisini de deneyin:

sudo usermod -a -G admin username

VEYA

sudo usermod -a -G sudo username

Zaten yönetici grubundaysanız chownklasörde bir deneyin .


Neden? Zaten sudo / admin grubunda olduklarına dair her öneri var (parolalarını girdiklerinde çalışır).
Oli

Belki bir chownirade @Oli
Sharad Gautam

0

Aynı sorun var, apache sunucumun dosyasını yüce metinle düzenlemeye çalışıyorum ve web sunucumun iznini karıştırmak istemiyorum. G + w dosyalarınızı değiştirmek ve kullanıcınızı www-data grubuna koymak çok güvenli bir fikir değildir.

Ne tavsiye ediyorum yüce metin için SFTP eklentisi kullanıyor:

  • web sunucunuzun dosyasını kendi kullanıcınıza ait bir klasöre kopyalayın
  • SFTP eklentisini şununla yapılandır:
"upload_on_save": true,
"host": "localhost",
"user": "www-data",

Yapılandırmada bir parola vermeyin, çünkü bu da büyük bir güvenlik açığıdır.

Yüce metin sizden şifreyi bir kez soracak ve daha sonra oturum için hatırlayacaktır. Her dosya kaydetme üzerine, localhost'a bir sftp oturumu açacak ve dosyayı uygun kullanıcıyla diske yazacaktır.


0

Linux / Unix terminalinizde aşağıdakileri yapın:

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

Denedim -R 775ve işe yaramadı, bu yüzden -R 777tüm projeye yazma izinleri verdim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.