Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> изменение структуры st_mode 
V
    Опции темы
IgnatM
Дата 1.5.2011, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 8.1.2011

Репутация: нет
Всего: нет



Вот стала проблема, вроде бы как и не сложная, но что-то никак не соображу как с ней справиться, помогите пожалуйста. 
Есть структура  st_mode конкретного файла или папки, мне нужно изменить права доступа этого файла, например поставить, чтобы в каждой группе пользователей было право записи в файл.  

вот так я проверяю какие права на у файла:
Код

void decodePermission (mode_t sb,FILE *Stats) {
    if((sb & S_IRUSR)!=0) fprintf(Stats,"r"); else fprintf(Stats,"-");
    if((sb & S_IWUSR)!=0) fprintf(Stats,"w"); else fprintf(Stats,"-");
    if((sb & S_IXUSR)!=0) fprintf(Stats,"x"); else fprintf(Stats,"-");

    if((sb & S_IRGRP)!=0) fprintf(Stats,"r"); else fprintf(Stats,"-");
    if((sb & S_IWGRP)!=0) fprintf(Stats,"w"); else fprintf(Stats,"-");
    if((sb & S_IXGRP)!=0) fprintf(Stats,"x"); else fprintf(Stats,"-");

    if((sb & S_IROTH)!=0) fprintf(Stats,"r"); else fprintf(Stats,"-");
    if((sb & S_IWOTH)!=0) fprintf(Stats,"w"); else fprintf(Stats,"-");
    if((sb & S_IXOTH)!=0) fprintf(Stats,"x"); else fprintf(Stats,"-");
}

PM MAIL   Вверх
sergioK1
Дата 1.5.2011, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(IgnatM @ 1.5.2011,  11:28)
Вот стала проблема, вроде бы как и не сложная, но что-то никак не соображу как с ней справиться, помогите пожалуйста. 
Есть структура  st_mode конкретного файла или папки, мне нужно изменить права доступа этого файла, например поставить, чтобы в каждой группе пользователей было право записи в файл.  

вот так я проверяю какие права на у файла:
Код

void decodePermission (mode_t sb,FILE *Stats) {
    if((sb & S_IRUSR)!=0) fprintf(Stats,"r"); else fprintf(Stats,"-");
    if((sb & S_IWUSR)!=0) fprintf(Stats,"w"); else fprintf(Stats,"-");
    if((sb & S_IXUSR)!=0) fprintf(Stats,"x"); else fprintf(Stats,"-");

    if((sb & S_IRGRP)!=0) fprintf(Stats,"r"); else fprintf(Stats,"-");
    if((sb & S_IWGRP)!=0) fprintf(Stats,"w"); else fprintf(Stats,"-");
    if((sb & S_IXGRP)!=0) fprintf(Stats,"x"); else fprintf(Stats,"-");

    if((sb & S_IROTH)!=0) fprintf(Stats,"r"); else fprintf(Stats,"-");
    if((sb & S_IWOTH)!=0) fprintf(Stats,"w"); else fprintf(Stats,"-");
    if((sb & S_IXOTH)!=0) fprintf(Stats,"x"); else fprintf(Stats,"-");
}

права в файла меняються функцией chmod, запускать еще можно создать дочерний процесс и execv  
PM MAIL   Вверх
IgnatM
Дата 1.5.2011, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 8.1.2011

Репутация: нет
Всего: нет



спасибо, разобрался.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0810 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.