ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   Linux, Freebsd, *nix (https://forum.antichat.io/forumdisplay.php?f=124)
-   -   Установка и настройка vsftpd для debian (https://forum.antichat.io/showthread.php?t=1809010)

grixann 16.11.2009 21:31

Основной вопрос как настроить vsftpd
для vds основная задача загрузка файлов и выставления прав доступа .
Сделал только apt-get install vsftpd
Как добавить пользователя и пароль чтобы он стартовал с var/www/*

Fallen7 16.11.2009 21:41

В конфиге используй опцию

Код:


Код:

user_config_dir=/etc/vsftpd
В папке /etc/vsftpd для каждого пользователя собсвенный файл настроек, типа

Код:


Код:

local_root=/var/www
write_enable=yes
file_open_mode=0775
local_umask=002

Был "глюк" когда не пускает на фтп (не знаю сохранился ли), если файла нету файла, хотяьы пустого, для пользователя.
Ну и разрешения на фс соответсвующие.
Пользователи либо системны (проще), либо виртуальные, но там свои особенности получаются.

grixann 16.11.2009 21:47

нету у меня папки , расскажи подробно как сделать давай по системным пользователям

Fallen7 16.11.2009 21:53

Создай -)
mkdir /etc/vsftpd
useradd username
>/etc/vsftpd/username

grixann 16.11.2009 22:07

Я то создал и что дальше пиши подробно что делать ?

Fallen7 17.11.2009 00:27

Ох ёёё.
Ладно, например так:
конфиг /etc/vsftpd.conf приводим к виду:

Код:


Код:

listen=YES
connect_from_port_20=YES
listen_port=21
anonymous_enable=no
local_enable=yes
user_config_dir=/etc/vsftpd
chroot_local_user=yes
chmod_enable=yes
write_enable=no
ascii_download_enable=NO
ascii_upload_enable=NO
pasv_max_port=21400
pasv_min_port=21300
file_open_mode=0764
#local_umask=022
use_localtime=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
rsa_cert_file=/etc/ssl/private/vsftpd.pem
pam_service_name=vsftpd
ftpd_banner=Welcome to somewhere!

Создаём папку /etc/vsftpd

Код:


Код:

mkdir /etc/vsftpd
Создаём файл настроек пользователя fallen7

Код:


Код:

>/etc/vsftpd/fallen7
Редактируем /etc/vsftpd/fallen7 и приводим к виду

Код:


Код:

local_root=/var/www
write_enable=yes
file_open_mode=0775
local_umask=002

Добавляем пользователя fallen7

Код:


Код:

useradd fallen7
Создаём ему пароль

Код:


Код:

passwd fallen7
Если /var вынесен в отдельный раздел диска, то меняем /etc/fsttab, и добавляем в опцию монтирования acl

Код:


Код:

/dev/sda3      /var          xfs    defaults,acl        0      2
перемонтируем /dev/sda3 с новой опцией:

Код:


Код:

mount -o remount /dev/sda3
устанавливаем acl на /var/www

Код:


Код:

setfacl -R -m u:www-data:rwx /var/www
setfacl -m d:u:www-data:rwx
setfacl -R -m u:fallen7:rwx /var/www
setfacl -m d:u:fallen7:rwx

Решение с acl не совсем красивое, по ряду причин, но сейчас я заморачиваться с этим не буду - понадобится сами почитаете и поймёте.

grixann 17.11.2009 01:22

и нечего не получилось
при попытке соединения пишет

PHP:


Код:

[
R
]
220
Welcome to somewhere
!
[
R
]
USER
fallen7
[
R
]
331
Please specify the password
.
[
R
]
PASS
(
hidden
)
[
R
]
500
OOPS
:
cannot change directory
:
/
home
/
fallen7
[
R
]
Connection failed
[
R
]
Delaying
for
120
seconds before reconnect attempt
#1

Чтобы избавить от проблемы мне создал папку /home/fallen7
И опять проблема при попытке закачать файл получаю ошибку

PHP:


Код:

[
R
]
227
Entering Passive Mode
(
188
,
40
,
161
,
19
,
83
,
119
)
[
R
]
Opening data connection
IP
:
188.40
.161
.19
PORT
:
21367
[
R
]
LIST
-
al
[
R
]
150
Here comes the directory listing
.
[
R
]
226
Directory send
OK
.
[
R
]
List
Complete
:
115
bytes in
0
,
22
seconds
(
0
,
5
KB
/
s
)
Transfer queue completed
1
File failed to transfer

также не проставляет права на доступ
Как это решить ?

Изменил настройки вфайле конфика на

PHP:


Код:

write_enable
=
yes
ascii_download_enable
=
Yes
ascii_upload_enable
=
Yes

Все равно не могу загрузить файлы и установить права на папки и файлы

Fallen7 17.11.2009 10:36

acl установили?
покажите

Код:


Код:

getfacl /var/www

grixann 17.11.2009 11:42

Цитата:


Fallen7 написал(а):

acl установили?
покажите

Код:


Код:

getfacl /var/www

нет наверное не установился

PHP:


Код:

-
bash
:
getfacl
:
command not found
root@buhalych
:
~
# setfacl -R -m u:www-data:rwx /var/www
-
bash
:
setfacl
:
command not found
root@buhalych
:
~
# setfacl -m d:u:www-data:rwx
-
bash
:
setfacl
:
command not found
root@buhalych
:
~
# setfacl -R -m u:fallen7:rwx /var/www
-
bash
:
setfacl
:
command not found
root@buhalych
:
~
# setfacl -m d:u:fallen7:rwx
-
bash
:
setfacl
:
command not found


Fallen7 17.11.2009 11:47

Тогда установите, в чём проблема? Зачем пишите, что не работает, если не всё сделали?
Если вам на заводе машине колёса прикрутить забудут, вы ведь далеко не уедете.

Код:


Код:

aptitude install acl
и вперёд.

grixann 17.11.2009 12:05

Цитата:


Fallen7 написал(а):

Тогда установите, в чём проблема? Зачем пишите, что не работает, если не всё сделали?
Если вам на заводе машине колёса прикрутить забудут, вы ведь далеко не уедете.

Код:


Код:

aptitude install acl
и вперёд.


Установил и перезагрузил сервер , но все осталось по прежнему

Fallen7 17.11.2009 12:53

ACL установили?
снова показывает



Код:


Код:

getfacl /var/www
а заодно



Код:


Код:

cat /etc/fstab

grixann 17.11.2009 13:12

Цитата:


Fallen7 написал(а):

ACL установили?
снова показывает



Код:


Код:

getfacl /var/www
а заодно



Код:


Код:

cat /etc/fstab

Наверное не установил как установить ?
ответ на getfacl /var/www

PHP:


Код:

getfacl
:
Removing leading
'/'
from absolute path names
# file: var/www
# owner: root
# group: root
user
:
:
rwx
group
:
:
r
-
x
other
:
:
r
-
x

ответ на cat /etc/fstab

PHP:


Код:

# UNCONFIGURED FSTAB FOR BASE SYSTEM

Fallen7 17.11.2009 13:44

устанавливаем acl на /var/www

Код:


Код:

setfacl -R -m u:www-data:rwx /var/www
setfacl -m d:u:www-data:rwx
setfacl -R -m u:fallen7:rwx /var/www
setfacl -m d:u:fallen7:rwx

Это для кого я писал?
Заодно покажите, что у вас выводит mount.
Я бы советовал, для начала восстановить fstab (интересно, что же ты делал, что стёр fstab?)
выполняем команду fdisk -l и получаем что-то типа этого:

Код:


Код:

Device Boot      Start        End      Blocks  Id  System
/dev/sda1  *          1          24      192748+  83  Linux
/dev/sda2          38670      38913    1959930    5  Extended
/dev/sda3              25      38669  310415962+  8e  Linux LVM
/dev/sda5          38671      38913    1951897+  82  Linux swap / Solaris

А потом восстанавливать /etc/fstab
Выглядит примерно так

Код:


Код:

#               
proc            /proc          proc    defaults        0      0
/dev/sda1      /boot          ext2    defaults        0      2
/dev/sda2      /              ext3    defaults        0      0
/dev/sda5      none            swap    sw              0      0


grixann 17.11.2009 14:04

Цитата:


Fallen7 написал(а):

устанавливаем acl на /var/www

Код:


Код:

setfacl -R -m u:www-data:rwx /var/www
setfacl -m d:u:www-data:rwx
setfacl -R -m u:fallen7:rwx /var/www
setfacl -m d:u:fallen7:rwx


выполнил запрос



PHP:


Код:

root@buhalych
:
~
# fdisk -l
cannot open
/
proc
/
partitions

получил ответ может лучше я вам дам root доступ и вы посмотрите в чем дело ?

TwistedAndy 20.11.2009 02:30

Когда-то настраивал FTP-сервер для загрузки файлов. Теперь для этих целей использую OpenSSH на сервере + WinSCP на Windows-машине. Отличная связка и настраивать по сути ничего не надо.

Fallen7 20.11.2009 10:55

Цитата:


TwistedAndy написал(а):

Когда-то настраивал FTP-сервер для загрузки файлов. Теперь для этих целей использую OpenSSH на сервере + WinSCP на Windows-машине. Отличная связка и настраивать по сути ничего не надо.


Только не очень безопасная. Насколько я помню winscp не использует ключи. Хотя я не знаю как конкретно вы настраивали, как по мне ftp удобнее - но на вкус и цвет ...
Да и тут уже настроили впринципе.


Время: 04:09