Hi All,
I'm not sure if umask is the right way. Anyway, here is my problem:
I have a folder where a Software will drop some files. Those files need to be created with the permissions 775 (+x for others).
Is there a way to do this? Normaly a file with a umask of "0000" will still have "-rw-rw-rw".
Thanks,
Dominic
umask - Create file with +x default
-
- Posts: 45
- Joined: 2010/01/28 21:05:11
- Location: University of the Free State - South Africa
- Contact:
Re: umask - Create file with +x default
Hi Dominic,
Unfortunately umask will not do what you want. It will only work for directories.
Nor will setfacl work. The problem is that the highest value for a new created file is going to be 666 and for a directory 777.
As you can see, new directories have the correct permission set to 775 but files only have 664.
The alternative would have been to use setfacl but the same limitation holds:
The same permissions are given as above.
The only way I can think of is to do a find in the path (you can of course put it in a cron job):
In short, you'll have to set it using chmod specifically. Unless you create the files through a SAMBA share,
then SAMBA can set the specific permissions (executable) to files.
Sorry, no reasonable solution that I can think of.
Unfortunately umask will not do what you want. It will only work for directories.
Nor will setfacl work. The problem is that the highest value for a new created file is going to be 666 and for a directory 777.
Code: Select all
#You would want to set umask to 002:
]$ umask 002
]$ mkdir aaa
]$ touch a
]$ ls -l
-rw-rw-r--. 1 vanecka vanecka 0 Oct 21 13:56 a
drwxrwxr-x. 2 vanecka vanecka 6 Oct 21 13:56 aaa
The alternative would have been to use setfacl but the same limitation holds:
Code: Select all
]$ mkdir /data
]$ setfacl -m d:u::rwx,d:g::rwx,d:o::rx /data
]$ getfacl /data/
getfacl: Removing leading '/' from absolute path names
# file: data/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
]$ cd /data
]$ mkdir aaa
]$ touch a
]$ ls -l
-rw-rw-r--. 1 root root 0 Oct 21 14:01 a
drwxrwxr-x+ 2 root root 6 Oct 21 14:01 aaa
The only way I can think of is to do a find in the path (you can of course put it in a cron job):
Code: Select all
]$ find /data/ -type f -exec chmod 0775 {} \;
]$ ls -l /data
-rwxrwxr-x. 1 root root 0 Oct 21 14:01 a
then SAMBA can set the specific permissions (executable) to files.
Sorry, no reasonable solution that I can think of.