[asterisk-users] Asterisk 11.3.0 - Mask for new file not correct

Ludovic Boué lboue at afone.com
Tue Apr 30 03:35:58 CDT 2013


----- Mail original -----
De: "David M. Lee" <dlee at digium.com>
À: "Asterisk Users Mailing List - Non-Commercial Discussion" <asterisk-users at lists.digium.com>
Envoyé: Lundi 29 Avril 2013 19:51:42
Objet: Re: [asterisk-users] Asterisk 11.3.0 - Mask for new file not correct


On Apr 29, 2013, at 10:51 AM, Ludovic Boué wrote:

> The fact is we want to use the RECORDED_FILE function from Application_Record module and create a file with 666 permissions. But when I check the created file, rights are not what I expected.
> 
> [root at STD1-SRVASTSVI-03 pseudos]$ ll
> -rw-r--r-- 1 asterisk asterisk 51244 mars 29 16:04 Pseudo_2_1111.wav
> 
> I checked the doc on https://wiki.asterisk.org/wiki/display/AST/Application_Record but I didn't find anything about umask permissions. I checked Doxygen, I can see file creation permissions is set to 666
> #define AST_FILE_MODE 0666
> http://doxygen.asterisk.org/trunk/asterisk_8h.html#a6293b2dae52a2b470494df672a26c42
> 
> What can I do to fix that or debug?

The AST_FILE_MODE works by the same rules as mode parameter in open(2): "The effective permissions are modified by the process's umask in the usual way: The permissions of the created file are (mode & ~umask)."[1]

My guess is that the umask of your asterisk process is 022, which is very typical. You'll have to play around with your umask settings and file permissions to get things the way you want them.

 [1]: http://linux.die.net/man/2/open


You were right, it was necessary to change asterisk process umask. I put the following in /etc/init.d/asterisk init script and it works:
        # umask 002 to create files with 0664 and folders with 0775
        umask 002

Thanks a lot



More information about the asterisk-users mailing list