Как измениться/показать полномочия в C

Я плохо знаком с программированием C, и я хотел бы реализовать команду chmod на файлах dir и subdir. Как я могу измениться/показать полномочия с кодом C? Кто-то мог помочь с примером? Я ценил бы, если кто-либо может предоставить мне код.

7
задан Felix Kling 29 March 2010 в 16:55
поделиться

2 ответа

Есть функция chmod. От man 3p chmod :

SYNOPSIS
   #include <sys/stat.h>

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

...

Если вы хотите прочитать разрешения, вы должны использовать stat. Из man 3p stat :

SYNOPSIS
   #include <sys/stat.h>

   int stat(const char *restrict path, struct stat *restrict buf);

...

Если вы хотите сделать это рекурсивно, как вы упомянули, вам придется выполнить цикл по результатам readdir самостоятельно.

12
ответ дан 6 December 2019 в 15:20
поделиться

с библиотекой GNU C вы должны быть в состоянии сделать это напрямую

int chmod (const char *filename, mode_t mode)
int chown (const char *filename, uid_t owner, gid_t group)

проверьте это здесь. все эти функции находятся в sys/stat.h

2
ответ дан 6 December 2019 в 15:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: