В первую очередь, я предложил бы использовать ChrootDirectory %h
вместо /home/%u
, как %h
расширяется до дома пользователя, даже если это нет /home/$USER
.
Теперь к Вашей фактической проблеме: необходимо вызвать internal-sftp
как команда, которая будет выполнена. Следующая конфигурация работает просто великолепно для меня, и если также для Вас:
Match group sftp
ForceCommand internal-sftp
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
Дом пользователя должен быть root
- принадлежавший и имеют 755 полномочий, как упомянуто выше:
drwxr-xr-x 22 root root 4.0K Nov 24 2011 /home/testuser
Из pbdedit страницы справочника:
выборка
pdbedit инструмент использует passdb модульный интерфейс и независим от вида пользовательской используемой базы данных (в настоящее время существуют smbpasswd, ldap, Нис + и базирующийся tdb, и больше может быть добавлено, не изменяя инструмент).
В то время как smbpasswd страница справочника:
выборка
По умолчанию (когда выполнено без аргументов) это попытается изменить пароль SMB текущего пользователя на локальной машине. Это подобно пути passwd (1) работы программы. smbpasswd отличается от того, как passwd программа работает однако, в котором это не корень setuid, но работает в режиме клиент-сервер и общается с локально выполнением smbd (8). Как следствие для этого для следования за smbd демоном должен работать на локальной машине. На машине UNIX зашифрованные пароли SMB обычно хранятся в smbpasswd (5) файл.
Так pbdedit
может управлять множеством бэкендов пароля Samba, в то время как smbpasswd
может только управлять тем типом бэкенда.
И smbpasswd
и pdbedit
может использоваться для управления пользователями Samba.
Ответ на вопрос: с Samba 4 нет никакого различия между этими двумя командами. Обе команды будут воздействовать на тот же файл - быть этим в smbpasswd или формат tdbsam - и сделать задание.
Подробно останавливающийся на ответе:
smbpasswd
является более старым. Это использовалось для управления полномочиями Samba, сохраненными в формате файла того же имени - smbpasswd. Путь по умолчанию для файла в основанных на Redhat дистрибутивах был /etc/samba/smbpasswd
(для устранения неоднозначности: сама программа, формат файла и файл по умолчанию того формата программа smbpasswd
воздействует на, все названы smbpasswd).
pdbedit
подошел во время цикла разработки Samba 3 как замена для smbpasswd
. С точки зрения пользователя root pdbedit
способен ко всем операциям, которые может сделать smbpasswd
, а также надмножество их (управляйте безопасностью счетов и стратегическими параметрами настройки). 'Собственный' формат для хранения полномочий Samba для pdbedit
tdbsam - Тривиальный основанный на DB бэкенд места хранения пароля. На основанных на Redhat дистрибутивах путь к файлу по умолчанию /var/lib/samba/private/passdb.tdb
.
проблема с pdbedit
- то, что она может только использоваться корнем, в то время как smbpasswd
может использоваться обычными пользователями для изменения их паролей Samba, в некотором роде подобных тому, что команда passwd
делает для системных учетных записей Linux. Таким образом, мое понимание - то, что с Samba 4 задание управления пользователями передается pdbedit
и , smbpasswd
оставляют там, чтобы некорневые пользователи смогли изменить свои пароли (хотя корень может все еще использовать smbpasswd
для управления мандатным хранилищем Samba ограниченным способом).
smbpasswd
вызовыpdbedit
внизу при контакте с tdbsam форматом файла). – golem 25.11.2014, 01:55