>
>>>делать, зараза не дает incorrect password.
>>>На что еще su проверяет прежде чем переключить пользователя?
>>>
>>>Заранее спасибо!
>
>>зачем тебе su если не секрет? пишешь маленькую прогу, которая делает chroot
>>под суперюзером, затем возвращается к обычному юзверю. и все.
>>а jail тебе нужен или ты просто так это написал?
>
>Jail-ом я катаолги назвал, где прога крутится... ;)
>Зачем su? в общем надо из стартового скрипта /etc/rc3.d/S* запустить софтину в
>под chroot и юзером который не root...
>
>/SergeyK
в порядке идеи, которую нужно слегка творчески переработать:
программка запускается вместо оболочки пользователя, на нее выставлен суидный бит. затем делается chroot в HOME пользователя, вычисляются его реальные ID юзера и группы, а затем эффективные устанавливаются в соответствии реальным и запускается оболочка.
примерно то же самое нужно сделать тебе. будут проблемы - пиши.
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#define SHELL "/bin/sh"
main (int argc, char **argv, char **envp) {
char *home;
gid_t uid, gid;
home = getenv("HOME");
if (chroot(home)) {
perror("");
exit(1);
}
gid = getgid();
uid = getuid();
setegid(gid); seteuid(uid);
if (execvp(SHELL, argv/*, envp*/)) {
perror("");
}
}