Возможно ли в Linux создать пользователя у которого будет доступ на чтение/запись только в папку home, а в остальные папки не будет доступа ни на чтение ни на запись?
Закрыть пользователю доступ ко всем папкам кроме home
а приложения он как будет запускать?
вообще выход есть. можно сделать ему изолированное окружение командой chroot.
а приложения он как будет запускать?
А приложения ему не нужно запускать, этот юзер нужен для доступа через sshfs, для хранения файлов.
вообще выход есть. можно сделать ему изолированное окружение командой chroot.
Да решение интересное, но по моему требует установки пропатченного OpenSSH (или достаточно просто установить chrootssh?)
Это все делаю на боевом, удаленном веб сервере, и завалить OpenSSH не хотелось бы, т.к. доступ к серверу есть только по SSH.
ха! чего ж сразу не сказали? если нужно только по ssh подключаться, то достаточно настроить сервер так чтобы он юзеров загонял в домашний каталог.
Пропишите в sshd.conf строчку
ChrootDirectory %hпосле этого пользователь и знать не будет что есть другие каталоги.
Не знаю как это отразиться на руте, т.к. он тоже попадёт в /root и чисто теоретически не увидит других папок.
PS: Откровенно говоря я бы не советовал этого делать, т.к. там много оговорок
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?
Возможно ли в Linux создать пользователя у которого будет доступ на чтение/запись только в папку home, а в остальные папки не будет доступа ни на чтение ни на запись?
поставьте обычный FTP сервер, и chroot. юзер увидит только /home/user
если нужно только по ssh подключаться, то достаточно настроить сервер так чтобы он юзеров загонял в домашний каталог.
ChrootDirectory это похоже то что нужно, можно и по группам разграничить права:
http://www.linuxgeek.ru/2009/08/openssh-sftp-chroot-chrootdirectory.html
Но ChrootDirectory появился только начиная с OpenSSH 4.8p1, а на сервере установлен OpenSSH 4.2p1...
Наверное таки придется арендовать для этих целей какой ни будь недорогой VPS, со свежим софтом.
подумайте ещё раз, не стоит ли на обычный ftp включить chroot?
поставьте обычный FTP сервер, и chroot. юзер увидит только /home/user
Использовать FTP это самое простое решение, более того он там используется.
Но SSH дает полное шифрование канала и авторизации(можно безопасно соединяться с сервером через любую общедоступную сеть), что немаловажно в моем случае.
И к тому же по SSH можно подключать разделы на windows компьютерах (через DokanSSHFS), и с этими разделами может свободно работать любой софт.