LINUX.ORG.RU

создание папки в freebsd


0

0

os: freebsd надо создать папку с владельцем Б из под юзера А. как реализовать? пробовал так: у польвозвателя Б uid=125, gid=125 int main ( int argC, char *argV[]) { seteuid(125); setegid(125); setreuid( geteuid(), getuid()); setregid( getegid(), getgid()); mkdir (argV[1],1020); return 0; } gcc prog.c -o prog #chown 125:125 prog #chmod +s prog

uid и gid меняются на нужные. mkdir делается с хоум-директории пользователя А с владельцем А, но не делается в директории хозяином которой является Б.


Ой. А как это у вас seteuid из под юзера A работает ? Вы испортили бээсдэ совсем ?

Так вот setuid и всё такое имеет проаво делать только рут. Рекомендую смотреть чтоб функции семейства setuid возвращали 0. Они сейчас все EPERM возвращают.

Рекомендую также для таких операций использовать sudo где возможно.

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

а почему из под юзера не должер работать seteuid если chown ug+s из под рута сделан был. и вообще все разрешилось без всяких seteuid. создается папка где надо и все время запускается от юзера Б.

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