![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
s_a_s_h_a |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 261 Регистрация: 20.7.2004 Где: Петрозаводск Репутация: нет Всего: 1 |
на сервере с ОС openSUSE необходим вебовский файловый менеджер (PHP). Соответственно нужно чтобы этот файловый менеджер позволял пользователю работать со своей домашней директорией. У меня проблема с доступом. Т.е. необходимо, чтобы авторизовываясь в файловом менеджере, пользователь имел права соответствующего пользователя linux к своей домашней директории, а не права апача.
Кто с этим сталкивался или наслышан об этом, подскажите направление что изучать, какими методами решать данную задачу? |
|||
|
||||
Muerto |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
s_a_s_h_a, просто зайти по ssh в winscp и выдать права... ну или chown http://www.computerhope.com/unix/uchown.htm
|
|||
|
||||
s_a_s_h_a |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 261 Регистрация: 20.7.2004 Где: Петрозаводск Репутация: нет Всего: 1 |
кому? я наверное плохо объяснил.
Еще раз на примере. Есть пользователи ОС: tester1 и tester2, пусть для них домашние директории на сервере /home/tester1 и /home/tester2 соответственно. Внутри каталога /home/tester1 может творить что угодно только юзер tester1, tester2 туда доступа иметь не должен. Есть файловый менеджер вебовский. Пользователь tester1 авторизовываясь там, для ОС является пользователем apache (www-data, wwwrun, может еще что-то, я с линуксом первую неделю знакомлюсь), а не tester1 и поэтому не имеет доступа к /home/tester1. Если в ОС дать доступ к к этим директориям для пользователя апача, то tester1 будет иметь доступ и к своей домашней директории и к чужой и tester2 аналогично. Можно, конечно, программно отслеживать, но я подозреваю, что для линукса - это очень плохой тон. |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
вообще, вопрос авторизации прекрасно решается самим пхп. после чего он просто позволяет выполнять действия при выполнении любых заданных условий
|
|||
|
||||
s_a_s_h_a |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 261 Регистрация: 20.7.2004 Где: Петрозаводск Репутация: нет Всего: 1 |
Спасибо за ответ, только он малоинформативен, я бы сказал для меня он даже абсолютно бесполезен. Что вы подразумеваете под авторизацией самим пхп? Сверка введенного логина и пароля с хранящимся в БД, файле, средствами самого линукса, а потом использование сессий, кукисов или другие какие-то конкретные варианты? Вторая часть вообще обо всем и ни о чем. Меня интересует конкретно доступ конкретного пользователя к конкретной папке и никого другого. Один способ я знаю: дать ко всем домашним директориям пользователей линукс, зарегистрированных в веб-сервисе, доступ для пользователя апача, а затем программно отслеживать, чтобы юзер не имел доступа к чужим директориям. Если это единственный способ, или есть мнения плохо это или хорошо, то поделитесь, пожалуйста. Но я подозреваю, что вариантов гораздо больше. И я хотел бы их услышать. Я не прошу код, мне нужны наводки, но конкретные. |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
нет, сверка введенного логина и пароля с хранящимся в БД, файле, средствами самого пхп, а потом использование сессий, кукисов или другими вариантами. как это реализовано здесь, на форуме а затем показывать средствами пхп только назначенную пользователю директорию. даже если её нет на самом деле. к примеру, все файлы могут валиться в некий общий каталог, а в БД прописываться id, user_id, path_to_file, codelink_for_download в итоге показывать пользователю список из файлов только с его user_id можно создавать специальную под пользователя директорию, будет чуть-чуть проще |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
апач, обычно, запущен с правами своего пользователя и не имеет возможности лазить по чужим каталогам. Можно процессу апача временно поднять привилегии, если знать пароль рута и иметь возможность исполнять консольные команды, но это, вероятнее всего, окажет влияние на всех юзеров, сидящих на сайте.
Можно было бы запускать версию апача, с соответствующими привилегиями на свободном порту и переадресовывать успешно залогинившегося юзера на этот апач. Для простых операций с файлами может оказаться достаточно ftp доступа к домашнему каталогу. Примеров таких файл менеджеров до фига по интернету болтается. Впрочем, достаточно посмотреть на функции работы с ftp. Их там достаточное количество... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |