LINUX.ORG.RU

проверка immutable флажка на С

 , ,


0

1

Народ начал активно пользоваться chattr +i file_name.

Как на С проверить наличие этого флага?

В тегах Linux и нужно для Linux.

в общем сам нашёл

open (name, (O_RDONLY|O_NONBLOCK));
ioctl (fd, EXT2_IOC_GETFLAGS, &f);

★★★★★

Последнее исправление: vtVitus (всего исправлений: 3)

Ответ на: комментарий от mix_mix

что-то у меня в мане по stat нет инфы о данных конструкциях

error: ‘struct stat’ has no member named ‘st_flags’ error: ‘UF_IMMUTABLE’ undeclared (first use in this function)

vtVitus ★★★★★
() автор топика
Ответ на: комментарий от vtVitus

Ну блин, на самом деле, удосужься уже в код посмотреть, наконец. Нет у тебя st_flags значит, по-другому надо.

#include <fcntl.h>
#include <stdio.h>

#define EXT2_IMMUTABLE_FL 0x10
#define EXT2_IOC_GETFLAGS 0x80086601

int main(int argc, char **argv)
{
    int fl, fd = open(argv[1], O_RDONLY | O_NONBLOCK);
    if (!ioctl(fd, EXT2_IOC_GETFLAGS, &fl))
        printf("immutable: %s\n", fl & EXT2_IMMUTABLE_FL ? "yes" : "no");
    return close(fd), 0;
}

mix_mix ★★★★★
()
Последнее исправление: mix_mix (всего исправлений: 1)
Ответ на: комментарий от mix_mix

Удосужься уж прочитать тело, особенно про то что решение нашёл.

А с таким тоном помогать не стоит - нах?р пошлют в следующий раз.

vtVitus ★★★★★
() автор топика
Ответ на: комментарий от vtVitus

А с таким тоном помогать не стоит - нах?р пошлют в следующий раз.

А не офигел ли ты часом, дружок? Тебе за бесплатно помогают, тратят время на то, чтобы тебе стало понятнее (хотя и сам прекрасно мог загуглить такую фигню), а ты включаешь последнее быдло, как будто тебе кто-то должен.

mix_mix ★★★★★
()
Ответ на: комментарий от mix_mix

ещё раз по-русски - помогаешь помогай, а не читай быдло-нравоучения. с нравоучениями помощь не нужна никому, тем более пользы от твоего поста для меня (да и для любого другого) не было никакой. хочешь по самоутверждаться, какой ты умный - проходи мимо. тема закрыта.

vtVitus ★★★★★
() автор топика

man 2 setxattr, если портабельность не жарит

ananas ★★★★★
()
Ответ на: комментарий от vtVitus

быдло-нравоучениями здесь занимаешься именно ты.

pylin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.