Samba üzerinden HTML dosyaları değiştirilemiyor


0

Debian çalışan bir Raspberry Pi'de basit bir Apache web sunucusuna ev sahipliği yapıyorum, şu ana kadar sadece varsayılan /var/www/dizininin dışında statik içerik sunuyor .

/var/www/Klasörü Samba üzerinden paylaşmak istedim, böylece klasörü bir Windows makinesinden kolayca bağlayabilir ve doğrudan sunucuda hızlı güncellemeler yapabilirim.

Bir Windows makinesinden (Samba payı üzerinden), ...

  • Herhangi bir dosya türünün dosyalarını oku
  • Herhangi bir dosya türünün dosyalarını yeniden adlandırın, oluşturun veya silin
  • Çoğu dosya türünün içeriğini değiştirme

Ancak, Windows'ta değişiklik yapamayacağım.html ve .htmdosyalar (belki de başka dosya türleri) ve bir değişikliği kaydetmeye çalışırken aşağıdaki hata iletisini alamıyorum:

İşlem dosyaya erişemiyor çünkü başka bir işlem tarafından kullanılıyor.

Bu, Windows'ta hangi düzenleyiciyi kullandığımdan bağımsız olarak gerçekleşir (örneğin, Notepad, Visual Studio vb.).

Windows'un itibaren bu bana etkilenen bir dosyayı (örn onu değiştirmek adlandırmak ilginç yeteneği sağlar *.htmüzere *.htm.edit,) içeriğini değiştirmek ve sonra tekrar adını değiştirin. Ancak yeniden adlandırmadan düzenleyemiyorum.

Hala Unix'ten gayet iyi tüm dosyaları değiştirebiliyorum .

Sahip olan kullanıcı ve dosya izinleri hem etkilenen hem de etkilenmeyen dosyalar arasında aynıdır: -rwxrw-rw-

Apache sunucusu tarafından sunulan diğer statik web içeriğinin (örneğin, CSS dosyaları) Windows istemcisinden Samba üzerinden düzenlenebilir olduğunu unutmayın.

HTML ile ilgili dosyalar (şu ana kadar) ile sınırlı göründüğü için, en iyi saf tahminim Samba ile Apache arasında belki de dosya kilitlemeyle ilgili bir çelişki olduğudur. Bu Samba paylaşımı için OpLocks'ı devre dışı bırakmayı denedim (onlara çok aşina değilim, ancak bazı kilitlenme sıkıntılarına neden olabileceğini duydum).

smb.confBu Samba paylaşımına ilişkin Samba configuration ( ) dosyasının kısmı aşağıdadır :

[www]
Comment = WWW root folder
Path = /var/www
Browseable = yes
Writeable = Yes
only guest = no
create mask = 0777
directory mask = 0777
Public = yes
valid users = pi
force user = pi
strict locking = no
oplocks = False
level2 oplocks = False

Sadece .htmlSamba paylaşımını kullanarak bir Windows istemcisinden dosyaları düzenleme yeteneğini istiyorum . Bu sorunu nasıl giderebileceğime veya çözebileceğime dair herhangi bir tavsiye memnuniyetle karşılanacaktır.


Belirtilir: "dosya başka bir işlem tarafından kullanılıyor çünkü." Apache sunucusu çalışıyorsa, dosyaları kilitler.
DrMoishe Pippik

Yanıtlar:


2

Benim sorunum aslında Windows'ta yalnızca Samba paylaşımında ortaya çıkan kilit bir çatışma idi.

Bazı dosyalar için (HTML dosyaları dahil), Windows Gezgini önizleme bölmesi tarafından kullanılan önizleme işleyicisinin bir Samba DENY_WRITEdosya kilidi aldığını ve böylece Windows Gezgini'nde seçilen dosyanın düzenlenmesini engelleyeceğini keşfettim.

Bu beni şaşırtıyor: yerel Windows makinesindeki bir HTML dosyası için, önizleme işleyicisinin aldığı dosya kilidi diğer işlemlerin yazmasını engellemiyor; ancak dosya bir Samba paylaşımındayken, bir nedenden dolayı Windows dosya kilidinin DENY_WRITESamba'daki bir kilide çevrilmesi, bu nedenle Windows makinesindeki ikinci işlem (bir metin düzenleyici) dosyayı değiştirmeye çalıştığında, Samba kilidine saygı duyar ve doğal olarak başarısız olur.

Kişisel olarak Windows'ta önizleme işleyicilerine ihtiyacım yok, bu yüzden onları devre dışı bıraktım (Klasör Seçenekleri >> 'Görünüm' Sekmesi >> Seçimi Kaldır 'Önizleme işleyicilerini önizleme bölmesinde göster'). Bu bir geçici çözümden daha fazlasıdır; ideal olarak, önizleme işleyicisinin dosya kilidi DENY_WRITESamba'da bir kilide çevrilmemiştir .

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.