Ошибка конфигурации SFTP chroot

Кто-нибудь может увидеть, что я сделал неправильно в этой процедуре? Я могу подключиться к серверу как новый пользователь и нахожусь в каталоге chrooted, но, несмотря на установку всех надлежащих корневых разрешений, я не могу добавлять файлы или каталоги.

sudo mkdir /var/host
sudo groupadd sftp
sudo useradd john -d / -M -N -G sftp -s /bin/false
sudo passwd john

sudo nano /etc/ssh/sshd_config

Match Group sftp
  ChrootDirectory /var/host
  ForceCommand internal-sftp

service ssh restart

Вот каталог разрешений

drwxr-xr-x  2 root root     4096 Jan 24 14:27 host

* ОБНОВЛЕНИЕ *

Хорошо, теперь я понимаю, что понимаю. Дайте мне знать, если это выглядит хорошо:

sudo mkdir /var/sftp
sudo mkdir /var/sftp/host
chown john:sftp /var/sftp/host
sudo groupadd sftp
sudo useradd john -d /var/sftp/host -M -N -G sftp -s /bin/false
sudo passwd john

sudo nano /etc/ssh/sshd_config

Match Group sftp
  ChrootDirectory /var/sftp/host
  ForceCommand internal-sftp
  X11Forwarding no
  AllowTcpForwarding no

sudo service ssh restart

Единственная проблема с этим решением состоит в том, что только Джон может добавлять файлы и каталоги, я думаю, или может любой член SFTP?

2
задан 07.05.2020, 03:44

2 ответа

  • Я не буду делать пользователя с домашним каталогом, установленным в /.

  • /var/host/ правильно принадлежит root и 755, поскольку это необходимо для работы chroot. Поскольку он принадлежит root, конечно, пользователь john не может писать в него.

  • Для пользователя john вы должны создать подкаталоги под /var/host/, для которых у него есть разрешение на запись. john никогда не сможет писать напрямую в chroot (/var/host/), так как это будет небезопасно, поэтому sftp этого не позволяет.

1
ответ дан 07.05.2020, 03:44
  • 1
    Это должно просто быть единственным большим каталогом,/var/host, к которому у большого количества пользователей есть доступ. Большой каталог для загрузки и загрузки размещенных файлов. – bluetoothfx 07.05.2020, 03:45
  • 2
    Хм, но тогда как я заставляю каталог появиться как корень пользователю? – HMan 07.05.2020, 03:45
  • 3
    т.е. если я создам/var/sftp/host, когда John войдет в систему, то он будет в состоянии отступить из хоста для наблюдения всех каталогов в/var/sftp – gvlasov 07.05.2020, 03:45
  • 4
    @Atomiklan /var/host/ появится как /. Да, он будет в состоянии выйти для наблюдения других каталогов под /var/host/, но он не будет в состоянии получить доступ к тем другим каталогам если Вы don' t предоставляют ему read+execute доступ на тех других директорах, если Вы просто хотите единственный большой каталог, как Вы говорите, затем используйте /var/host/ в качестве / точно так же, как теперь и сделайте только один подкаталог под ним. Тогда у пользователей только будет доступ к этому подкаталогу. – Anonsage 07.05.2020, 03:46
  • 5
    @Atomiklan Для высказывания этого по-другому: " т.е. если я создам/var/sftp/host, когда John войдет в систему, то он будет в состоянии отступить из хоста для наблюдения всех каталогов в/var/sftp" , Почему делают другие каталоги под /var/sftp/, если Вам только нужен один dir? – 0neel 07.05.2020, 03:46

Ниже приведено пошаговое руководство, позволяющее:

  1. Доступ SFTP к / home / bob / uploads (при необходимости изменить) для пользователя bob
  2. Блокировка bob из SSH
  3. Используйте имя пользователя / пароль, а не ключи:

Сначала отредактируйте файл / etc / ssh / sshd_config:

sudo nano /etc/ssh/sshd

Прокрутите вниз и измените:

PasswordAuthentication yes

и добавьте это внизу:

Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no  

Нажмите Ctrl-X, чтобы выйти и сохранить.

Теперь добавьте пользователя:

sudo useradd bob
sudo passwd bob

Теперь добавьте группы и отключите ssh:

sudo groupadd sftpusers
sudo usermod  -g sftpusers bob
sudo usermod -s /usr/bin/rssh bob
sudo usermod -d /home/bob bob

Теперь установите разрешения:

sudo chown root:root /home/bob/
sudo chmod 755 /home/bob/
sudo mkdir /home/bob/uploads
sudo chown bob /home/bob/uploads

sudo service sshd restart

Все это при входе в систему от имени пользователя root (ec2-пользователь в Amazon Linux AMI)

0
ответ дан 07.05.2020, 03:44

Теги

Похожие вопросы