Я пытаюсь настроить sftp-доступ для наших клиентов для загрузки или выгрузки файлов. При попытке настроить права доступа к каталогу и доступ пользователей я продолжаю получать ошибки как таковые.
server1 sshd[21760]: Accepted password for user01 from 192.168.1.118 port 51026 ssh2
server1 sshd[21760]: pam_unix(sshd:session): session opened for user user01 by (uid=0)
server1 sshd[21775]: fatal: bad ownership or modes for chroot directory "/home/user01"
server1 sshd[21760]: pam_unix(sshd:session): session closed for user user01
У меня в файле sshd_config есть следующие настройки:
Match Group sftp_users
ChrootDirectory %h
ForceCommand internal-sftp
Права доступа к папке / файлу отображаются следующим образом:
drwxr-xr-x 4 user01 sftp_users 4096 Mar 28 09:26 /home/user01
У меня как таковой навесной привод:
//windowserver/ftproot/customers/user01 on /home/user01 type cifs (rw)
Я не могу понять / определить, имеет ли пользователь «user01» доступ для чтения / записи к своему собственному домашнему каталогу на локальном компьютере, но при использовании ssh / sftp возвращается ошибка «плохое владение / режимы». Это потому, что сеанс для пользователя user01 открыт с uid = 0? В этом случае uid для user01 - 502, а uid для root - 0.
Если из того, что я дал здесь, потребуется дополнительная информация, сообщите мне, и я отправлю ее.
Благодаря помощи / предложению других я узнал, что если вы добавите подпапку в домашний каталог пользователя и настроите эту подпапку, которая будет отображаться пользователем, все будет работать, как ожидалось. Подвести итоги:
/home/user01 should be chown'd by root.
/home/user01/shared should be chown'd by user01
Затем, когда user01 входит в систему, они видят только папку с именем shared, но они не могут перейти к родительским папкам, указанным выше. И поскольку логин user01 имеет право собственности, user01 может читать и записывать файлы из / в этот каталог.
Каталог Chroot должен быть родительским для цели, поэтому в этом случае / home
ChrootDirectory /home