Форум программистов, компьютерный форум CyberForum.ru

Атрибуты прав при создании директории - C++

Восстановить пароль Регистрация
 
skvor
640KB мне хватило на всё.
118 / 49 / 2
Регистрация: 07.06.2009
Сообщений: 442
22.08.2012, 19:37     Атрибуты прав при создании директории #1
Пишу
C++
1
2
3
4
mkdir("dir0777",0777);
mkdir("dir0770",0770);
mkdir("dir0707",0707);
mkdir("dir0077",0077);
Для владельца - права устанавливаются правильно.
Для группы и "остальных" - для всех директорий оказывается нет права на запись.
В чём дурь?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
22.08.2012, 19:39     Атрибуты прав при создании директории #2
А что за библиотека такая? Первый раз вижу такие функции
skvor
640KB мне хватило на всё.
118 / 49 / 2
Регистрация: 07.06.2009
Сообщений: 442
22.08.2012, 19:53  [ТС]     Атрибуты прав при создании директории #3
Это системный вызов
MKDIR(2) FreeBSD System Calls Manual MKDIR(2)

NAME
mkdir -- make a directory file

LIBRARY
Standard C Library (libc, -lc)

SYNOPSIS
#include <sys/stat.h>

int
mkdir(const char *path, mode_t mode);

DESCRIPTION
The directory path is created with the access permissions specified by
mode and restricted by the umask(2) of the calling process.

The directory's owner ID is set to the process's effective user ID. The
directory's group ID is set to that of the parent directory in which it
is created.

RETURN VALUES
The mkdir() function returns the value 0 if successful; otherwise the
value -1 is returned and the global variable errno is set to indicate the
error.
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
22.08.2012, 20:03     Атрибуты прав при создании директории #4
Наверное, у вас какие-то проблемы. У меня на Kubutu с ядром linux 3.2 все работает с виду нормально. Код таков:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <sys/stat.h>
 
int main()
{
   std::cout << mkdir("test777", 0777) << std::endl;
   std::cout << mkdir("test666", 0666) << std::endl;
   return 0;
}
Никаких ошибок не происходит при этом создаются такие папки.
P.S. У остальных что-то и вправду нет прав на запись. Может нужно выполнять этот от администратора или как-то поднастроить какую-нибудь политику безопасности?
Миниатюры
Атрибуты прав при создании директории  
Yandex
Объявления
22.08.2012, 20:03     Атрибуты прав при создании директории
Ответ Создать тему
Опции темы

Текущее время: 15:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru