История изменений
Исправление 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
)