LINUX.ORG.RU

История изменений

Исправление Kinlipan, (текущая версия) :

Мне тут говорят, что vsftpd - в топку, потому что по дефолту в ubuntu есть sftp

Дело говорят.

без vsftpd можно это сделать?

Можно, возможность есть.

пользователь имеет доступ ко всему, куда ему не надо

По умолчанию sFTP-пользователю разрешено просматривать всю структуру файловой системы. Это можно отключить, установив запрет выхода из специально назначенного ограничительного каталога (chroot jail directory).

хочу иметь 2 группы, одна может только в /var/www/mysite.com и выше ничего видеть не будет
вторая будет видеть только /var/www/othersite.com

Без ссылок ls и mount это возможно?

Возможно.

В следующем комментарии подробно рассмотрим процесс реализации упомянутой возможности (mysite и myothersite при рассмотрении будут группами, а user1 и user2 — пользователями).

Исправление Kinlipan, :

Мне тут говорят, что vsftpd - в топку, потому что по дефолту в ubuntu есть sftp

Дело говорят.

без vsftpd можно это сделать?

Можно, возможность есть.

пользователь имеет доступ ко всему, куда ему не надо

По умолчанию sFTP-пользователю разрешено просматривать всю структуру файловой системы. Это можно отключить, установив запрет выхода из специально назначенного ограничительного каталога (chroot jail directory).

хочу иметь 2 группы, одна может только в /var/www/mysite.com и выше ничего видеть не будет
вторая будет видеть только /var/www/othersite.com

Без ссылок ls и mount это возможно?

Возможно. В следующем комментарии подробно рассмотрим процесс реализации упомянутой возможности (mysite и myothersite при рассмотрении будут группами, а user1 и user2 — пользователями).

Исправление Kinlipan, :

Мне тут говорят, что vsftpd - в топку, потому что по дефолту в ubuntu есть sftp

Дело говорят.

без vsftpd можно это сделать?

Можно, возможность есть.

пользователь имеет доступ ко всему, куда ему не надо

По умолчанию sFTP-пользователю разрешено просматривать всю структуру файловой системы. Это можно отключить, установив запрет выхода из специально назначенного ограничительного каталога (chroot jail directory).

хочу иметь 2 группы, одна может только в /var/www/mysite.com и выше ничего видеть не будет
вторая будет видеть только /var/www/othersite.com

Без ссылок ls и mount это возможно?

Возможно. В следующем комментарии подробно рассмотрим процесс реализации упомянутой возможности (при рассмотрении mysite и myothersite будут группами, а user1 и user2 будут пользователями).

Исправление Kinlipan, :

Мне тут говорят, что vsftpd - в топку, потому что по дефолту в ubuntu есть sftp

Дело говорят.

без vsftpd можно это сделать?

Можно, возможность есть.

пользователь имеет доступ ко всему, куда ему не надо

По умолчанию sFTP-пользователю разрешено просматривать всю структуру файловой системы. Это можно отключить, установив запрет выхода из специально назначенного ограничительного каталога (chroot jail directory).

хочу иметь 2 группы, одна может только в /var/www/mysite.com и выше ничего видеть не будет
вторая будет видеть только /var/www/othersite.com

Без ссылок ls и mount это возможно?

Возможно. Подробно рассмотрим процесс реализации упомянутой возможности (при рассмотрении mysite и myothersite будут группами, а user1 и user2 будут пользователями).

------------------------------------------------------------------------------------------------------------------

## Необходимо внести некоторые изменения в конфигурационный файл /etc/sshd_config

sudo nano /etc/sshd_config

(в вышеуказанном конфигурационном файле следует заменить строку Subsystem sftp /usr/libexec/openssh/sftp-server
на Subsystem internal-sftp, и под полученной строкой добавить следующее):

   Match Group mysite
   ChrootDirectory /var/www/mysite.com
   ForceCommand internal-sftp -u 0007
   X11Forwarding no
   AllowTcpForwarding no

   Match Group myothersite
   ChrootDirectory /var/www/mysite.com
   ForceCommand internal-sftp -u 0007
   X11Forwarding no
   AllowTcpForwarding no

------------------------------------------------------------------------------------------------------------------

## Назначаем для групп mysite и myothersite политику загрузки файлов по sFTP с правами 770 (чтение, выполнение и запись)

sudo /etc/pam.d/common-session

(нужно включить pam_umask, добавив в /etc/pam.d/common-session следующую строку в самый конец файла):

session optional pam_umask.so (если упомянутая строка еще не содержится в вышеуказанном файле).

# Редактируем файл /etc/login.defs:

sudo nano /etc/login.defs

(в нем изменить строку с UMASK на):

UMASK           007

------------------------------------------------------------------------------------------------------------------

## Добавляем необходимых пользователей, группы пользователей, либо назначаем имеющихся пользователей в нужные группы

# Создать группы можно так:

groupadd mysite
groupadd myothersite

# Создать новых пользователей без доступа к shell (командной строке, как в PuTTY) можно так:

useradd -M -g mysite -s /usr/sbin/nologin user1
useradd -M -g myothersite -s /usr/sbin/nologin user2

# Добавить имеющихся пользователей в нужные группы можно так:

usermod -g mysite user1
usermod -g myothersite user1
------------------------------------------------------------------------------------------------------------------

## Выдаем права группы (групповой доступ) на будущий общий домашний каталог для пользователей группы (например, на /var/www/mysite.com и /var/www/myothersite.com)

chown nobody:mysite /var/www/mysite.com
chown nobody:myithersite /var/www/myothersite.com
chmod -R 770 /var/www/mysite.com chmod -R 770 /var/www/myothersite.com

------------------------------------------------------------------------------------------------------------------

## Делаем полученные групповые каталоги домашними каталогами каждого из необходимых пользователей

sudo nano /etc/passwd

(в файле /etc/passwd необходимо изменить столбец домашнего каталога для нужных пользователей на /var/www/mysite.com или /var/www/myothersite.com)

Исходная версия Kinlipan, :

Мне тут говорят, что vsftpd - в топку, потому что по дефолту в ubuntu есть sftp

Дело говорят.

без vsftpd можно это сделать?

Можно, возможность есть.

пользователь имеет доступ ко всему, куда ему не надо

По умолчанию sFTP-пользователю разрешено просматривать всю структуру файловой системы. Это можно отключить, установив запрет выхода из специально назначенного ограничительного каталога (chroot jail directory).

хочу иметь 2 группы, одна может только в /var/www/mysite.com и выше ничего видеть не будет
вторая будет видеть только /var/www/othersite.com

Без ссылок ls и mount это возможно?

Возможно. Подробно рассмотрим процесс реализации упомянутой возможности.

------------------------------------------------------------------------------------------------------------------

## Необходимо внести некоторые изменения в конфигурационный файл /etc/sshd_config

sudo nano /etc/sshd_config

(в вышеуказанном конфигурационном файле следует заменить строку Subsystem sftp /usr/libexec/openssh/sftp-server
на Subsystem internal-sftp, и под полученной строкой добавить следующее):

   Match Group mysite
   ChrootDirectory /var/www/mysite.com
   ForceCommand internal-sftp -u 0007
   X11Forwarding no
   AllowTcpForwarding no

   Match Group myothersite[br]
   ChrootDirectory /var/www/mysite.com
   ForceCommand internal-sftp -u 0007
   X11Forwarding no
   AllowTcpForwarding no

------------------------------------------------------------------------------------------------------------------

## Назначаем для групп mysite и myothersite политику загрузки файлов по sFTP с правами 770 (чтение, выполнение и запись)

sudo /etc/pam.d/common-session

(нужно включить pam_umask, добавив в /etc/pam.d/common-session следующую строку в самый конец файла):

session optional pam_umask.so (если упомянутая строка еще не содержится в вышеуказанном файле).

# Редактируем файл /etc/login.defs:

sudo nano /etc/login.defs

(в нем изменить строку с UMASK на):

UMASK           007

------------------------------------------------------------------------------------------------------------------

## Добавляем необходимых пользователей, группы пользователей, либо назначаем имеющихся пользователей в нужные группы

# Создать группы можно так:

groupadd mysite
groupadd myothersite

# Создать новых пользователей без доступа к shell (командной строке, как в PuTTY) можно так:

useradd -M -g mysite -s /usr/sbin/nologin user1
useradd -M -g myothersite -s /usr/sbin/nologin user2

# Добавить имеющихся пользователей в нужные группы можно так:

usermod -g mysite user1
usermod -g myothersite user1
------------------------------------------------------------------------------------------------------------------

## Выдаем права группы (групповой доступ) на будущий общий домашний каталог для пользователей группы (например, на /var/www/mysite.com и /var/www/myothersite.com)

chown nobody:mysite /var/www/mysite.com
chown nobody:myithersite /var/www/myothersite.com
chmod -R 770 /var/www/mysite.com chmod -R 770 /var/www/myothersite.com

------------------------------------------------------------------------------------------------------------------

## Делаем полученные групповые каталоги домашними каталогами каждого из необходимых пользователей

sudo nano /etc/passwd

(в файле /etc/passwd необходимо изменить столбец домашнего каталога для нужных пользователей на /var/www/mysite.com или /var/www/myothersite.com)