Как я могу chroot sftp-only пользователей SSH в свои дома?

Это во время видеопотока? [0]

https://bugs.launchpad.net/ubuntu/+source/skype/+bug/929884

Если нет, я уже ошибся в жестких блокировках во время видеопотоков. 'll введите ошибку в соответствующем трекере.

Изменить: Подано. См. https://bugs.launchpad.net/ubuntu/+source/skype/+bug/929884

Пожалуйста, перейдите, чтобы добавить дополнительную информацию (комментарии) / mark как затрагивающие вы

1
задан 13 March 2014 в 01:03

2 ответа

Чтобы chroot каталог SFTP, вы должны

Создать пользователя и заставить root быть его владельцем
cd /home
mkdir john
useradd -d /home/john -M -N -g users john
sudo chown root:root /home/john
sudo chmod 755 /home/john
Измените расположение подсистемы на / etc / ssh / sshd_config:
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
и создайте пользовательский раздел в конце файла (ssh может умереть респаунгом, если он помещен после строки подсистемы):
Match User john
    ChrootDirectory /home/john
    ForceCommand internal-sftp
    AllowTCPForwarding no
    X11Forwarding no
50
ответ дан 25 May 2018 в 11:39
  • 1
    без выполнения последней части (создания пользовательского раздела) ничего не работало! Спасибо – Sinan Erdem 22 April 2016 в 18:36
  • 2
    это не работает. в вашем примере пользователь john заблокирован в каталоге /home/john. вы предоставили 755 разрешения для каталога. поэтому владелец прочитал (4), напишет (2) и выполнит (1), и группа прочитала (4) и выполнила (1). вы также установили владельца и группу как root, поэтому john принадлежит другому. он также прочитал и выполнил (4 + 1 = 5). поэтому вы заблокировали john в директории, где у него нет привилегий для записи. как это исправить? изменение привилегий на 757 или даже 777 прерывает логин. изменение группы или владельца на john также ломает логин. – Daniel 3 September 2016 в 09:41
  • 3
    также отметить: в файле / etc / ssh / sshd_config конфиги считываются по порядку. Поэтому, если у вас есть правило для пользователей в General и вы хотите перезаписать один из них, просто поместите правило для пользователя сверху. – rwenz3l 3 April 2017 в 13:10
  • 4
    Я хочу chroot каталог SFTP в домашней папке другого пользователя. У меня есть userx в /home/userx/sftproot/uploads и sftpuser в / home / sftpuse. Я установил chroot в /home/usex/sftproot, чтобы он принадлежал root: root и chmod 755. /home/usex/sftproot/uploads исправлен sftpuser: sftpuser. Я получаю ту же ошибку, что и исходный вопрос выше. Нужно ли принадлежать chroot и всем родительским папкам root: root для работы sftp? – Primoz Rome 1 September 2017 в 10:04

Я потратил весь день, пытаясь получить долю сети на моей малине. Я хотел заблокировать пользователя, чтобы он не мог перемещаться по всей файловой системе, без входа в систему ssh, и я хотел иметь доступ на запись к сетевому ресурсу.

И вот как я получил он работает:

Сначала я создал пользователя:

sudo useradd netdrive

Затем отредактировал /etc/passwd и удостоверился, что у пользователя есть /bin/false, поэтому строка была: [!d3 ]

netdrive:x:1001:1004:Net Drive User,,,:/home/netdrive:/bin/false

Я отредактировал /etc/ssh/sshd_config, чтобы включить:

Match User netdrive
  ChrootDirectory /home/netdrive
  ForceCommand internal-sftp
  AllowTcpForwarding no
  X11Forwarding no

Измененный владелец домашнего каталога и разрешения:

sudo chown root:root /home/netdrive/
sudo chmod 755 /home/netdrive/

Хорошо, так что после всего этого я смог для подключения с помощью sshfs, но в режиме только для чтения. Что мне нужно было сделать, чтобы получить папку для записи:

sudo mkdir -p /home/netdrive/home/netdrive/
sudo chown netdrive:netdrive /home/netdrive/home/netdrive/
sudo chmod 755 /home/netdrive/home/netdrive/

Так оно и было, оно работало без каких-либо дальнейших изменений. Обратите внимание, что у меня есть только доступные для записи разрешения для пользователя, а не для группы, как и многие другие решения в Интернете.

При доступе с помощью sshfs с пользователем пользователя пользователя из-за конфигурации chroot я мог видеть только вещи хранится внутри /home/netdrive/ каталога сервера, отлично. Повторная структура каталогов /home/netdrive/home/netdrive/ - это то, что заставило меня работать с чистым chroot ssh-записывающим решением.

Теперь я объясню ниже проблемы, которые у меня были:

You вероятно, не будут выполнять следующие параграфы:

После просмотра вышеуказанных решений (и многих других в сети, которые даже использовали acl (списки контроля доступа)) chroot ssh writeable

Для меня НЕ работало:

sudo mkdir /home/netdrive/writable/
sudo chown netdrive:netdrive /home/netdrive/writable/
sudo chmod 755 /home/netdrive/writable/

Поскольку Следующие действия НЕ работали для меня: пользователь все еще не мог писать в этом [ f14], несмотря на то, что владеет папкой и имеет разрешения. Затем я сделал: sudo chmod 775 / home / netdrive / writable / И теперь я мог создать каталог и удалить его, но я не смог его отредактировать, потому что он создавался без прав на запись в группе. Здесь, из того, что я видел в сети, люди используют acl, чтобы исправить это. Но я не был доволен этим, так как мне пришлось установить acl, затем настроить точки подключения и т. Д. Также я понятия не имею, почему мне понадобится разрешение group для записи в папку, принадлежащую тот же пользователь.

Кажется, что по какой-то причине создание /home/netdrive/home/netdrive и предоставление права собственности на последнюю папку netdrive я смог заставить все работать, не входя в групповые разрешения.

4
ответ дан 25 May 2018 в 11:39

Другие вопросы по тегам:

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