2009-08-27 9 views
6

Tümü/Grup/Sahibi okuma ve yazma izinlerinimkfifo dosya izinleri doğru yürütülmez

mkfifo("/tmp/dumbPipe", 0666) 

sağlanan Ama gerektiği zaman C programında aşağıdaki satırı Ben kodu çalıştırmak ve yazma izni olmayan kontrol kez bitleri kuruldu, ben tmp dizininde borusunu kuruyorum beri bir sorun olur, sahipleri aynı

prw-r--r-- 

ile bitirmek? CMD 666'yı cmd satırından çalıştırdığımda tüm izinler doğru şekilde ayarlanmış olur.

cevap

9

Bu bir yorum post gönderin, sadece kullanım kılavuzlarını yazınız. Brievity vb adam 3 mkfifo gelen

Alıntı:

Her zamanki şekilde sürecin Umask tarafından değiştirildiğinde: Oluşturulan dosyanın izinleri (~ Umask modu &) bulunmaktadır. | Erkek 2 Umask gelen

Alıntı

süreç Umask için tipik varsayılan değer S_IWGRP olduğunu S_IWOTH (sekizlik 022). Açık mod argümanı (2) belirtilen olağan durumda:

 S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH 

    (octal 0666) when creating a new file, the permissions on the resulting file will be: 

     S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH 

    (because 0666 & ~022 = 0644; i.e., rw-r--r--). 
0

Salam, öyle olduğunu bilmek geç ama diğer kullanıcılar için ben bile eğer Bu yorumu yazmayı tercih 0666 kesin olarak, "işlemin dosya modu oluşturma" olarak adlandırılan başka bir faktör olduğunu bilmeniz gerekir, yani soru şu:

Geçerli işlem dosya modu oluşturmayı nasıl değiştirebilirim?

Cevap: programın başında kullanımı umask'ı (izin) - ve bu yardımcı olmalıdır

http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html

izni olarak 0000 verir.