Изменение текущей директории пользователя после логина

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Изменение текущей директории пользователя после логина

Непрочитанное сообщение Dmitriy_K » 2011-11-29 9:32:22

Сейчас занимаюсь проблемой создания ограниченного для пользователей сервиса SFTP. Сделал это через croot SSH (http://www.lissyara.su/articles/freebsd ... tp+chroot/).
Всё хорошо, но требуется, чтобы после входа пользователя автоматически менялась его рабочая директория на ту, в которой он может создавать файлы (типа команды "cd User_files").
Если кто знает, подскажите, пожалуйста, можно ли это как-то сделать через дот-файлы настроек в пользовательской директории.
Я пока не нашёл способ, чтобы это сработало. :(
Последний раз редактировалось f_andrey 2011-11-29 10:52:28, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Re: Изменение текущей директории пользователя после логина

Непрочитанное сообщение Dmitriy_K » 2011-11-29 10:14:26

Пока решил вопрос так: :"":

Код: Выделить всё

# pw usermod sftp01 -d /User_files
pw: WARNING: home `/User_files' does not exist
.....
sftp01:*:1002:1000:User &:/User_files:/bin/sh
.....
sshd_config
Match group sftpusers
        ChrootDirectory  /home/%u
Кто-нибудь может подсказать ещё что-либо полезное по этой теме?

rmn
старшина
Сообщения: 427
Зарегистрирован: 2008-10-03 18:52:02

Re: Изменение текущей директории пользователя после логина

Непрочитанное сообщение rmn » 2011-11-29 12:23:20

Код: Выделить всё

cd /User_files
в ~/.login не работает?

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Re: Изменение текущей директории пользователя после логина

Непрочитанное сообщение Dmitriy_K » 2011-11-29 12:37:21

rmn писал(а):

Код: Выделить всё

cd /User_files
в ~/.login не работает?
Нет, (да и не должно, вроде).
Пробовал в разных вариантах, например так:

Код: Выделить всё

#!/bin/sh

/usr/bin/cd User_files

Termitnik
сержант
Сообщения: 169
Зарегистрирован: 2008-04-05 20:09:45
Откуда: Киев

Re: Изменение текущей директории пользователя после логина

Непрочитанное сообщение Termitnik » 2011-11-29 15:09:21

А /etc/ftpchroot разве не поможет в этой ситуации?

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Re: Изменение текущей директории пользователя после логина

Непрочитанное сообщение Dmitriy_K » 2011-11-29 16:53:28

Termitnik писал(а):А /etc/ftpchroot разве не поможет в этой ситуации?
Какие это имеет выгоды. В чём +- ?
Хотелось бы иметь высоконадёжное решение.
В принципе, у меня уже нормальное решение. На ругань pw можно не обращать внимание. Разве что досаждает чрутовая директория уровнем выше пользовательской.
Насчёт дот-файлов я интересовался, до того как нашёл способ автоматического перехода в пользовательскую директорию.

rmn
старшина
Сообщения: 427
Зарегистрирован: 2008-10-03 18:52:02

Re: Изменение текущей директории пользователя после логина

Непрочитанное сообщение rmn » 2011-11-29 22:31:55

Dmitriy_K писал(а): Пробовал в разных вариантах, например так:

Код: Выделить всё

#!/bin/sh

/usr/bin/cd User_files
а так:

Код: Выделить всё

remcomp# cat .login
echo "Current directory is '`pwd`'"
cd /data
echo "Current directory is '`pwd`'"

Код: Выделить всё

remcomp% ssh root@localhost
Password:
Last login: Tue Nov 29 21:35:16 2011 from localhost
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
        The Regents of the University of California.  All rights reserved.

FreeBSD 8.1-RELEASE (REMCOMP) #0: Mon Jan 31 12:43:32 EET 2011


Current directory is '/root'
Current directory is '/data'
remcomp# pwd
/data
remcomp# 
?

Termitnik
сержант
Сообщения: 169
Зарегистрирован: 2008-04-05 20:09:45
Откуда: Киев

Re: Изменение текущей директории пользователя после логина

Непрочитанное сообщение Termitnik » 2011-11-30 8:14:05

Dmitriy_K писал(а):
Termitnik писал(а):А /etc/ftpchroot разве не поможет в этой ситуации?
Какие это имеет выгоды. В чём +- ?
Хотелось бы иметь высоконадёжное решение.
В принципе, у меня уже нормальное решение. На ругань pw можно не обращать внимание. Разве что досаждает чрутовая директория уровнем выше пользовательской.
Насчёт дот-файлов я интересовался, до того как нашёл способ автоматического перехода в пользовательскую директорию.
Поверьте, это не менее надежно, чем велосипеды, которые вы тут пытаетесь изобрести :-D

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Re: Изменение текущей директории пользователя после логина

Непрочитанное сообщение Dmitriy_K » 2011-11-30 21:01:50

rmn писал(а):а так:

Код: Выделить всё

remcomp# cat .login
echo "Current directory is '`pwd`'"
cd /data
echo "Current directory is '`pwd`'"
Спасибо за хороший пример, но это не мой случай жизни. (А жаль... :( )
Мне нужно чтобы это работало в SFTP после входа с chroot SSH (http://www.lissyara.su/articles/freebsd ... tp+chroot/).
Termitnik писал(а):Поверьте, это не менее надежно
Тут есть непонимание. Мне нужно сделать надёжный и безопасный SFTP-доступ (с шифрованием и без SSH), с минимальными сложностями создания и удаления учёток (чтобы этим мог заниматься менеджер по клиентам без всяких знаний). Учёток планируют 500-1000.
Вариант, который сделал я, всем хорош, но ко мне придираются насчёт директории на уровень выше пользовательской. Дескать, хотим идеального. :fool:
Привиредливые ламеры-заказчики - бесконечная беда. :no:
Не хотел бы переходить на вариант PureFTP. С ним сложнее для долговременной эксплуатации и менеджер должен быть умнее, чем есть в наличии.

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Re: Изменение текущей директории пользователя после логина

Непрочитанное сообщение Dmitriy_K » 2011-12-01 9:11:28

Я нашёл способ запретить просмотр содержимого директории выше пользовательской за счёт изменения прав на неё:

Код: Выделить всё

chown root:wheel sftp01
chmod 751 sftp01

К сожалению, это может лишь дезориентировать людей, поскольку попав в служебную директорию они не могут увидеть свою. Вот как бы запретить в SFTP переходить пользователю на уровень выше его директории?
К сожалению, пришлось столкнуться с проблемой насчёт использования авторизации по ключам SSH. По непонятным причинам не идёт (ключ не принимается).
Может кто подскажет, можно ли это как-то решить?

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Re: Изменение текущей директории пользователя после логина

Непрочитанное сообщение Dmitriy_K » 2011-12-02 10:33:23

Изучив до конца тему насчёт SFTP-chroot понял, что дот-файлы в данном случае не обрабатываются. Возможность автоматического перехода в пользовательскую поддиректорию с правами записи тоже не предусмотрена в openssh. Можно только использовать найденный мной вариант указания пользователю хоума относительно директории чрутинга. Но в таком варианте невозможно использовать авторизацию по ключам SSH, поскольку они ищутся не относительно директории чрутинга, а относительно корня сервера, т.е. в домашней директории которая прописана в учётной записи.
Кое-что полезное, что нашлось по теме:
http://www.minstrel.org.uk/papers/sftp/faq.html
http://www.minstrel.org.uk/papers/sftp/builtin/
http://wiki.lapipaplena.org/index.php/H ... P_accesses
http://wiki.russianfedora.ru/index.php/ ... D0%B7_sftp
Насчёт причин запрета пользовательской записи в директорию чрутинга:
http://www.linux.org.ru/news/security/4138918