Ik heb een vreemd probleempje met de functie mkdir in C op mijn debianbak.
De map somedir die gemaakt wordt zou de rechten drwxrwxrwx moeten hebben. Ik krijg echter een map met deze rechten: drwxr-xr-x. Als ik de map maak met 755 krijg ik ook drwxr-xr-x (wat dan wel weer klopt). De directory waar ik deze bestanden in heb staan heeft 775 rechten en alles staat in mijn homedir dus qua schrijfrechten is er geen probleem lijkt me.
Maar waarom krijg ik in de nieuwe map geen schrijfrechten?!?
btw: mode in de functie mkdir vervangen door er direct 0777 neer te zetten maakt geen verschil.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| #include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
int main()
{
static mode_t mode = 0777;
if( mkdir("somedir", mode ) != 0 )
{
printf("Error creating directory");
}
else
{
printf("Created directory");
} |
De map somedir die gemaakt wordt zou de rechten drwxrwxrwx moeten hebben. Ik krijg echter een map met deze rechten: drwxr-xr-x. Als ik de map maak met 755 krijg ik ook drwxr-xr-x (wat dan wel weer klopt). De directory waar ik deze bestanden in heb staan heeft 775 rechten en alles staat in mijn homedir dus qua schrijfrechten is er geen probleem lijkt me.
Maar waarom krijg ik in de nieuwe map geen schrijfrechten?!?
btw: mode in de functie mkdir vervangen door er direct 0777 neer te zetten maakt geen verschil.