LinuxForum.Fans
Тема

Закрыть пользователю доступ ко всем папкам кроме home

Автор: IDr 6 сообщений 4810 просмотров
#20381

Возможно ли в Linux создать пользователя у которого будет доступ на чтение/запись только в папку home, а в остальные папки не будет доступа ни на чтение ни на запись?

#20385

а приложения он как будет запускать?
вообще выход есть. можно сделать ему изолированное окружение командой chroot.

#20392
Loky написал:
а приложения он как будет запускать?

А приложения ему не нужно запускать, этот юзер нужен для доступа через sshfs, для хранения файлов.

Loky написал:
вообще выход есть. можно сделать ему изолированное окружение командой chroot.

Да решение интересное, но по моему требует установки пропатченного OpenSSH (или достаточно просто установить chrootssh?)
Это все делаю на боевом, удаленном веб сервере, и завалить OpenSSH не хотелось бы, т.к. доступ к серверу есть только по SSH.

#20414

ха! чего ж сразу не сказали? если нужно только по ssh подключаться, то достаточно настроить сервер так чтобы он юзеров загонял в домашний каталог.
Пропишите в sshd.conf строчку

text
ChrootDirectory %h

после этого пользователь и знать не будет что есть другие каталоги.
Не знаю как это отразиться на руте, т.к. он тоже попадёт в /root и чисто теоретически не увидит других папок.

PS: Откровенно говоря я бы не советовал этого делать, т.к. там много оговорок

text
The ChrootDirectory must contain the necessary files and directo-
             ries to support the user's session.  For an interactive session
             this requires at least a shell, typically sh(1), and basic /dev
             nodes such as null(4), zero(4), stdin(4), stdout(4), stderr(4),
             arandom(4) and tty(4) devices.  For file transfer sessions using
             ``sftp'', no additional configuration of the environment is nec-
             essary if the in-process sftp server is used, though sessions
             which use logging do require /dev/log inside the chroot directory
             (see sftp-server(8) for details).

подумайте ещё раз, не стоит ли на обычный ftp включить chroot?

#20440
IDr написал:
Возможно ли в Linux создать пользователя у которого будет доступ на чтение/запись только в папку home, а в остальные папки не будет доступа ни на чтение ни на запись?

поставьте обычный FTP сервер, и chroot. юзер увидит только /home/user

#20458
Loky написал:
если нужно только по ssh подключаться, то достаточно настроить сервер так чтобы он юзеров загонял в домашний каталог.

ChrootDirectory это похоже то что нужно, можно и по группам разграничить права:
http://www.linuxgeek.ru/2009/08/openssh-sftp-chroot-chrootdirectory.html
Но ChrootDirectory появился только начиная с OpenSSH 4.8p1, а на сервере установлен OpenSSH 4.2p1...
Наверное таки придется арендовать для этих целей какой ни будь недорогой VPS, со свежим софтом.

Loky написал:
подумайте ещё раз, не стоит ли на обычный ftp включить chroot?
drBatty написал:
поставьте обычный FTP сервер, и chroot. юзер увидит только /home/user

Использовать FTP это самое простое решение, более того он там используется.
Но SSH дает полное шифрование канала и авторизации(можно безопасно соединяться с сервером через любую общедоступную сеть), что немаловажно в моем случае.
И к тому же по SSH можно подключать разделы на windows компьютерах (через DokanSSHFS), и с этими разделами может свободно работать любой софт.

Войдите или зарегистрируйтесь, чтобы ответить.