unix domain socket
Я хочу, чтобы этот сокет создавался с другими правамиumask?
umask?А менее глобального ничего нет?
umask на этот процесс - уже много? Он же не глобальный.
umask на этот процесс - уже много? Он же не глобальный.Ну процесс ведь может же ещё и файлы создавать. А этот umask на них тоже ляжет.
Ну можешь заюзать что-нибудь типа FAM, отслеживать создание файла и рутом менять на него права.
Можно создавать сокет с правами 777 но в директории, в которую только избранные могут заходить.
fd = socket
fchmod(fd, xxx)
bind(fd)
судя по коду в af_unix.c
mode = S_IFSOCK | (SOCK_INODE(sock)->i_mode & ~current_umask;
похоже что можно без umaskПрикольно, но это только для себя, чтобы создавать сразу с нужными правами. Но lighttpd, сцука, не делает ничего подобного.
fd = socket
fchmod(fd, xxx)
bind(fd)
судя по коду в af_unix.c
mode = S_IFSOCK | (SOCK_INODE(sock)->i_mode & ~current_umask;
Можно создавать сокет с правами 777 но в директории, в которую только избранные могут заходить.Я в принципе так и хочу сделать, но сокет создаётся с правами root:root, 644.
ну пропатчить его. или в LD_PRELOAD засунуть костыль подменяющий bind
ну пропатчить егоДа патчить как-то лень и некошерно с точки зрения пакетного менеджера.
В пакетном менеджере нет каталога для патчей?
Технически есть место, куда можно положить различные хуки и там сделать подсовывание патча. Народ так делает. Но это как-то лениво.
В результате сделал с помощью incrond.
Официально такой фичи в gentoo вроде нет.Да ну не может быть, ты пробовал через CFLAGS или --USE-flags?
Почитай funroll-loops например!
Почитай funroll-loops например!Хуйня какая-то.
Оставить комментарий
tokuchu
А можно как-нибудь изменить права доступа, которые сокет получает по умолчанию?Есть программа, которая биндится на сокет. Я хочу, чтобы этот сокет создавался с другими правами, но эта программа сама по себе права сокета не меняет.