Я хочу надати клієнту доступ до мого сервера, але хочу обмежити цих користувачів їх домашніми каталогами. Я буду прив’язувати-монтувати в будь-які файли, які я хочу, щоб вони могли бачити.
Я створив користувача, який зателефонував, bob
і додав його до нової групи під назвою sftponly
. У них є домашній каталог за адресою /home/bob
. Я змінив їх оболонку, /bin/false
щоб зупинити вхід в SSH. Ось їх /etc/passwd
лінія:
bob:x:1001:1002::/home/bob:/bin/false
Я також змінив, /etc/ssh/sshd_config
щоб включити наступне:
Match Group sftponly
ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTcpForwarding no
Коли я намагаюся увійти як вони, ось що я бачу
$ sftp bob@server
bob@server's password:
Write failed: Broken pipe
Couldn't read packet: Connection reset by peer
Якщо я коментую ChrootDirectory
рядок, в якому я можу SFTP, але тоді вони мають вільний перевід через сервер. Я виявив, що це ChrootDirectory /home
працює, але він все ще надає їм доступ до будь-якого домашнього каталогу. Я явно намагався, ChrootDirectory /home/bob
але це теж не працює.
Що я роблю неправильно? Як я можу обмежити bob
до /home/bob/
?
---- РЕДАКТИВАТИ -----
Гаразд, я просто подивився /var/log/auth.log
і побачив це:
May 9 14:45:48 nj sshd[5074]: pam_unix(sshd:session): session opened for user bob by (uid=0)
May 9 14:45:48 nj sshd[5091]: fatal: bad ownership or modes for chroot directory component "/home/bob/"
May 9 14:45:48 nj sshd[5074]: pam_unix(sshd:session): session closed for user bob
Я не зовсім впевнений, що там відбувається, але це говорить про те, що з каталогом користувачів щось не так. Ось ls -h /home
вихід:
drwxr-xr-x 26 oli oli 4096 2012-01-19 17:19 oli
drwxr-xr-x 3 bob bob 4096 2012-05-09 14:11 bob
ChrootDirectory /home/%u
можна замінитиChrootDirectory %h
.