Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
S500
Зарегистрирован: 28.10.2003 Сообщения: 5 Откуда: Ekaterinburg
|
Добавлено: Сб Ноя 01 2003 17:14 Заголовок сообщения: Проблема в Линукс с правами, помогите! |
|
|
Как сделать? Пользователь запускает программу(ее владелец root), она должна сменить владельца у какого-то файла на данного пользователя(владелец этого файла другой юзер, но из той же группы, что и пользователь, который запустил данную прогу). ХЕЛП!!! |
|
Вернуться к началу |
|
|
Anonymous Гость
|
Добавлено: Сб Ноя 01 2003 19:08 Заголовок сообщения: Для начала она должна иметь SUID( или SGID) (-) |
|
|
- |
|
Вернуться к началу |
|
|
_BusTeR_ Гость
|
Добавлено: Сб Ноя 01 2003 20:30 Заголовок сообщения: chmod [u/g][-/+]s |
|
|
- |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://prof Гость
|
Добавлено: Вс Ноя 02 2003 22:59 Заголовок сообщения: Я так понял, ты хочешь "взять во владение"? Только SetUID, группа тут не катит |
|
|
Я так понял, ты хочешь что-то типа виндоусового "take ownership" - взятие во владение.
1) Надо написать программу, которая узнаёт UID текущего юзера (определённые сложности возникают, если юзер сделал su - тогда надо решить, используется ли LoginUID или же EffectiveUID); затем делает сист.вызов chown(), который доступен только руту.
2) Надо сделать проверку, имеет ли юзер право забирать во владение данный файл. В твоём вопросе нет критериев такого права.
3) Очевидно, такая программа должна исполняться под рутом, т.е. иметь атрибут SetUID->root. Группа файла и программы никакой роли не играет. |
|
Вернуться к началу |
|
|
|