Приветствую всех.
Хочу сделать бесплатный хостинг в локальной сети.
Встал вопрос: как пользователь сможет изменить свой пароль для доступа к своему домашнему каталогу через ftp? По ssh я пускать их не хочу на сервер. (Или можно как то закрыть пользователя в домашнем каталоге?)
sudo тоже применять думаю нет смысла (опасно).
Если есть какие то идеи по этому поводу, отпишитесь пожалуйста. Заранее спасибо.
>Приветствую всех.
>Хочу сделать бесплатный хостинг в локальной сети.
>Встал вопрос: как пользователь сможет изменить свой пароль для доступа к своему
>домашнему каталогу через ftp? По ssh я пускать их не хочу
>на сервер. (Или можно как то закрыть пользователя в домашнем каталоге?)
>
>sudo тоже применять думаю нет смысла (опасно).
>Если есть какие то идеи по этому поводу, отпишитесь пожалуйста. Заранее спасибо.
>Usermin ?
>Приветствую всех.
>Хочу сделать бесплатный хостинг в локальной сети.
>Встал вопрос: как пользователь сможет изменить свой пароль для доступа к своему
>домашнему каталогу через ftp? По ssh я пускать их не хочу
>на сервер. (Или можно как то закрыть пользователя в домашнем каталоге?)
>
>sudo тоже применять думаю нет смысла (опасно).
>Если есть какие то идеи по этому поводу, отпишитесь пожалуйста. Заранее спасибо.
>delieta prosta ..
stavish proftpd + mysql + script na php
>>Приветствую всех.
>>Хочу сделать бесплатный хостинг в локальной сети.
>>Встал вопрос: как пользователь сможет изменить свой пароль для доступа к своему
>>домашнему каталогу через ftp? По ssh я пускать их не хочу
>>на сервер. (Или можно как то закрыть пользователя в домашнем каталоге?)
>>
>>sudo тоже применять думаю нет смысла (опасно).
>>Если есть какие то идеи по этому поводу, отпишитесь пожалуйста. Заранее спасибо.
>>
>
>delieta prosta ..
>
>stavish proftpd + mysql + script na php
вот тебе скрпит.
В веб форме примерно такое. Скрипт проверит старый пасс и заменит на новый если все ок.Схемка немного опасная, но в целом если внутри лана юзать, то пойдет. По крайней мере все просто.
в хтмлку:<FORM
action=passwd.cgi
method=post style="DISPLAY: inline"
AUTOCOMPLETE="off">
<B>Введите ваше имя <br>
<INPUT id=email maxLength=50 name=email maxLength=50 type=text> <br>Введите ваш новый пароль:</B><br>
<INPUT id=repass maxLength=50 name=repass maxLength=50 type=text>
<br><br>
Введите ваш старый пароль:</B><br>
<INPUT id=pass_old maxLength=50 name=pass_old maxLength=50 type=text>
<br><br>
<INPUT border=0 src="green_so_btn.gif"
type=image></body></html>
Сам passwd.cgi:#!/usr/bin/perl -w
################################################################################
use strict;
use IO::Socket qw(:DEFAULT :crlf);
use strict;
use CGI qw(:param);
use CGI qw(:standard);my $host = shift || 'your.ftp_host';
my $port = shift || '21';my $socket = IO::Socket::INET->new(PeerAddr => $host, PeerPort => $port) or die "no sock $!";
my $answer;
my $username = param('email');
my $mypass = param('repass');
my $pass_old = param('pass_old');$answer = <$socket>;
# send username, pass
print $socket "user " . $username,CRLF;
$answer = <$socket>;
print $socket "pass " . $pass_old,CRLF;$answer .= <$socket>;
print $socket "quit " ,CRLF;
#print "$answer\n";
my $mess = "$answer";
#print $mess;if ($mess =~ m/logged in/) {
print "Content-type: text/html\n\n";# ТУТ СТАВИШЬ СИСТЕМНУЮ КОМАНДУ
system "/usr/bin/passwd $username $mypass";printf "Пароль успешно изменен!\n";
} else {print "Content-type: text/html\n\n";
printf "Хуй волкам сказала красная шапочка, и почесала свою волосатую грудь! Старые пaроль не тот\n";
};Должно работать.