Назад | Перейти на главную страницу

Необходимо ограничить пользователя только одним каталогом, чтобы он мог иметь ssh также в этом каталоге?

Я пытаюсь создать нового пользователя и ограничить его доступ только одной папкой в ​​/ usr / local /. Итак, я немного погуглил и выполнил следующие шаги.

groupadd controlgroup1
cd /usr/local
mkdir controlfolder1
chmod g+rw controlfolder1/
chgrp -R controlgroup1 controlfolder1/
useradd control1
passwd control1
gpasswd -a control1 controlgroup1

Я вошел в /etc/sshd_config и ближе к концу файла я добавил это

Match Group controlgroup1
# Force the connection to use SFTP and chroot to the required directory.
ForceCommand internal-sftp
ChrootDirectory /usr/local/controlfolder1/
# Disable tunneling, authentication agent, TCP and X11 forwarding.
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

Я перезапустил ssh: systemctl restart sshd.

Итак, когда я попытался войти в систему под пользователем control1, я увидел это в файле журнала?

Code:
Accepted password for control1 from 192.168.1.8 port 52912 ssh2
May  5 14:12:47 localhost sshd[2639]: pam_unix(sshd:session): session opened for user control1 by (uid=0)
May  5 14:12:47 localhost sshd[2639]: fatal: bad ownership or modes for chroot directory component "/usr/local/controlfolder1/" [postauth]
May  5 14:12:47 localhost sshd[2639]: pam_unix(sshd:session): session closed for user control1

У меня есть контроль, один - владелец.

ls -ld controlfolder1/
drwxrwxr-x. 2 control1 controlgroup1 6 May 5 13:58 controlfolder1/

Я выполнил этот шаг, но у меня возникла новая проблема с «chown -R control1: controlgroup1 / usr / local / controlfolder1 / control1». Так что это другое. Я также хочу предоставить доступ по ssh, а не только к sftp? Надеюсь, это устранит ошибку дублирования.

Проблема в том, что sshd требует, чтобы каталог chroot принадлежал root, и только root имел права на запись. Таким образом, вам нужно будет установить домашний каталог control1 на /usr/local/controlfolder1/control1, например, и установите

chown root:root /usr/local/controlfolder1 chmod 700 /usr/local/controlfolder1 chown -R control1:controlgroup1 /usr/local/controlfolder1/control1

Источник: https://wiki.archlinux.org/index.php/SFTP_chroot#Troubleshooting