Автор Тема: Пользователи, SFTP, WinSCP - настройка домашней директории  (Прочитано 5932 раз)

san4ezart

  • Newbie
  • *
  • Сообщений: 4
    • Просмотр профиля
Добрый день всем. Я новичек, не только в CentOS, но и в Linux вообще.

Проблема заключается в следующем. Есть у меня компьютер, на котором развернута Самба. Все работает как часы. Но порты я на нее не пробрасывал, и нет возможности, так сказать. Так что внутри сети на компьютер зайти можно по самба протоколу. Извне, понятное дело, никак. Настроен SSH. По WinSCP (SFTP) я лажу по машине извне. Появилась задача. Нужно дать доступ к этой папке одному из пользователей, при чем доступ он будет получать дома у себя. Я настроил ему пользователя, дал ему домашний каталог, как каталог самбы.
Вопроса 2:
1. Можно ли сделать так, чтобы по ssh доступ был отказан, а по sftp открыт.
2. Как сделать так, чтобы корневым каталогом для этого пользователя был именно его домашний. Иначе он в WinSCP просто уходит на каталог выше и все. Вся система, как на ладони.

Заранее благодарю. Просьба не пинать, если что не так описал и написал.

centos62

  • Newbie
  • *
  • Сообщений: 13
    • Просмотр профиля
Я не знаком с программами, что ты перечислил до вопросов, потом ответы на вопросы:
Цитировать
Вопроса 2:
1. Можно ли сделать так, чтобы по ssh доступ был отказан, а по sftp открыт.
2. Как сделать так, чтобы корневым каталогом для этого пользователя был именно его домашний. Иначе он в WinSCP просто уходит на каталог выше и все. Вся система, как на ладони.

1. Если пользователи заведены в самой системе, то для того чтобы запретить вход в систему, но предоставить доступ к сервисам системы, делается это так:
root@localhost#vi /etc/passwd

А там находите пользователя и меняете у него тип аутентификации.

c
user1:x:500:500::/home/user1:/bin/bash

на
user1:x:500:500::/home/user1:/bin/nologin

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

2. Опять таки, я не знаком с подобными программами. Поставьте нормальный FTP-сервер на него, например vsftpd
root@localhost#yum install vsftpdи пробросьте на него 20 и 21й порты. У него гибкая настройка...

Удачи!

san4ezart

  • Newbie
  • *
  • Сообщений: 4
    • Просмотр профиля
Все таки меня интересует настройка SSH. Долго мучался с директивой Match. Потом посмотрел на версию OpenSSH и понял, что нужно обновлять (в моей версии эта директива не поддерживается). Пересобрал OpenSSH. Теперь с директивой этой sshd стартует. НО! пользователь, которого ввел в директиву и сделал chroot теперь не логинится никак, ни через SSH, ни через SFTP. Короче доступ обрубается. Как только закоментишь директиву, так  все хорошо. Но никакого Chroot.
SSH сейчас версии 5.8
Система CentOS 5.5

Вот конфиг sshd_config

Protocol 2

SyslogFacility AUTHPRIV

PasswordAuthentication yes

ChallengeResponseAuthentication no

UsePAM no

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL

X11Forwarding yes

UseDNS no

Subsystem sftp internal-sftp

Match User share
    ChrootDirectory /smb-storage
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

Вот строка из passwd
share:x:519:519::/home/share:/bin/bash

centos62

  • Newbie
  • *
  • Сообщений: 13
    • Просмотр профиля
Не-не-не..... Я ничего не понимаю... Зачем тебе в sshd лезть то? Измени юзеру /bin/bash на /bin/nologin и хрен он у тебя по ssh войдет. Зачем себе жизнь усложняешь??? ;D

san4ezart

  • Newbie
  • *
  • Сообщений: 4
    • Просмотр профиля
Усложняю потому, что не хочу юзать FTP, а хочу SFTP. Вот в чем проблема. Вечером скину, что получилось, результат уже есть определенный.

centos62

  • Newbie
  • *
  • Сообщений: 13
    • Просмотр профиля
Да дело то, конечно же, хозяйское, но (ИМХО) игра не стоит свеч. Это как из пушки по воробьям...  ;D

Простое решение твоего вопроса:
>1. Можно ли сделать так, чтобы по ssh доступ был отказан, а по sftp открыт.

Я уже писал выше

>2. Как сделать так, чтобы корневым каталогом для этого пользователя был именно его домашний.

Ставишь нормальный ftp-сервер vsftpd, настраиваешь его. В настройке указываешь, что юзер у тебя при подключении будет chroot'иться в нужную тебе директорию. Все! Задача решена.
« Последнее редактирование: Мая 31, 2012, 02:27:48 pm от centos62 »

san4ezart

  • Newbie
  • *
  • Сообщений: 4
    • Просмотр профиля
спасибо