Local_umask ve file_open_mode nasıl çalışır?


11

Yerel kullanıcılar dosyalarını vsftp aracılığıyla bir sunucuya yüklediğinde dosya izinleriyle ilgili bazı sorunlar yaşadım.

Dosyaların 766 izne sahip olmasını istedim. Deneme ve hata bir sürü sonra ayarları böyle ayarlamak zorunda öğrendim:

local_umask=011
file_open_mode=0777

Ancak bunun neden 766 izinle sonuçlandığını bilmiyorum. Bunu açıklayan var mı?

Yanıtlar:


13

Vsftpd daemeon gibi dosya izinlerini yaratacak 0777 . Bundan, local_umask( 0011 ) çıkarılır. Umask, temel olarak kullanıcıların sahip olmasını istemediğiniz izinleri kaldırır. Bu, kullanıcının dosya izinlerinin 0766 olarak ayarlanmasına neden olur .

Daha fazla bilgi için dosya izinleriyle ilgili bu makaleye bakın .


2
Evet anladım, hile biliyorum. Peki bu nasıl çalışıyor? Neden sadece 766 ayarlayamıyorum?
OrangeTux

1

Umask değeri açık mod ayarından çıkarılır. Özel bir umask değeri sağlamazsanız, varsayılan değer (077) kullanılır ve bu da istemediğiniz bir sonuca yol açar.


-1

Bu izni alıyorsunuz çünkü:

1) local_umask = 011 ayarını yapmak için vsftp'ye söylersiniz:

0: okuma, yazma ve yürütme 1: okuma ve yazma 1: okuma ve yazma

Bu chmod 766'ya eşittir.

2) file_open_mode = 0777 değeri ayrıştırılmaz,

Burada umask nedir ve nasıl kullanılacağı hakkında çok iyi bir açıklama bulabilirsiniz: https://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html


Bu sorunun cevabı değil. (1) OP, 666 yerine 766 korumalı dosyalar istiyor, bu nedenle yanlış senaryoyu ele alıyorsunuz. (2) OP'nin çalışan bir yapılandırması vardır. Soru neden çalıştığını sormak . Buna hitap etmediniz.
Scott

Tamam, @Scott, cevabı düzenledi.
Fernando Kosh
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.