2015-05-19 3 views
1

У меня есть встроенная система, работающая под Linux, и у меня есть busybox, установленный для запуска различных сервисов. Одной из услуг является ftpd, что я начинаю как это из файла etc/init.d/rcS:ftpd не может изменить корневой каталог при подключении в качестве пользователя без полномочий root

tcpsvd 0.0.0.0 21 ftpd -w -v /mnt/flash& 

У меня есть два пользователя в системе, корень и обычный пользователь. пользователь Root может легко подключиться к FTP-серверу, но когда я пытаюсь войти в систему с учетными данными обычного пользователя, я получаю эту ошибку:

ftpd[678]: can't change root directory to '/mnt/flash': Operation not permitted 

Теперь, я подумал, что это должно быть проблемой разрешения каталога, и я начал с меняющимися разрешениями на каталог /mnt/flash, но после этого не получилось, у меня все мои файлы в файловой системе, включая /, чтобы быть владельцем этого обычного пользователя и иметь разрешения drwxrwxrwt (просто чтобы найти причину проблемы). Но я все еще получаю эту ошибку.

Я также попытался запустить ftpd с различными корневыми папками, включая /.

Я также не смог найти файлы конфигурации для ftpd в моей файловой системе, возможно, мне нужно создать его вручную? Если да, то какой из них и как сообщить ftpd разрешить пользователям вход в систему?

Я бы очень признателен за любую помощь. Благодарю.

ответ

1

Ну, после попытки некоторых случайных вещей, я обнаружил, что пользователь Войти работает нормально, если нет каталога изменения участвовать на всех:

tcpsvd 0.0.0.0 21 ftpd -w -v & 

Я подозреваю, что chroot называется иначе, и пользователь не имеет право на это.