
Я создаю нового пользователя со следующими данными:
useradd -d /var/www/html/testuser.com -G users testuser
Я продолжаю, создавая новый пароль для пользователя и пытаясь войти через SSH, я попадаю на /var/www/html/testuser.com, но я все еще могу вернуться в каталоги. Я хочу ограничить права пользователей, чтобы они могли управлять только содержимым внутри testuser.com и родственных ему (чтобы они могли выполнять все обычные операции), я не хочу, чтобы пользователь мог вернуться в каталоги и фактически иметь root-доступ.
решение1
Пользователи не «фактически имеют root-доступ» только потому, что они могут просматривать другие каталоги. Все пользователи с доступом к оболочке могут просматривать установку программного обеспечения — это не конфиденциальная информация, в конце концов, поскольку ее можно загрузить с любого количества сайтов. Если есть каталоги, которые вы не хотите показывать всем пользователям оболочки, предоставьте им соответствующие ограничительные разрешения.
Если вы хотите иметь второй уровень безопасности, вы можете сделать учетные записи более ограниченными. Если вы хотите разрешить этим пользователям просматривать, загружать и скачивать файлы только в /var/www/html/testuser.com
, то не давайте им учетную запись оболочки, дайте им ограниченную учетную запись, которая может использовать только SFTP. Вы можете указать параметры для определенной учетной записи вsshd_config
с Match
блоком. (Поместите это в конец файла, так как Match
директива распространяется на следующую Match
директиву или на конец файла.)
Match User testuser
Force-command internal-sftp
ChrootDirectory /var/www/html/testuser.com
Если вы хотите разрешить пользователям использовать еще несколько команд, таких как scp и rsync, но не общий доступ к оболочке, используйтершшилиscponlyв качестве оболочки для своей учетной записи, а также установите и настройте rssh или scponly, чтобы указать, какие команды вы хотите разрешить (см.Вам нужна оболочка для SCP?).
Если вы хотите предоставить оболочку, которая позволяет запускать только несколько программ из белого списка, сделайте ее оболочкойограниченная оболочка. Обратите внимание, что эти пользователи смогут получать доступ к файлам за пределами своего домашнего каталога в зависимости от прав доступа к файлам.
Если вы хотите предоставить полный доступ к оболочке, но сделать все, кроме домашних каталогов, невидимым, то вам нужно создать некую формутюрьма. Самая слабая форма тюрьмы - этоchroot-тюрьма, который ограничивает пользователя веткой дерева каталогов. Ограничить пользователя chroot так же просто, как указать ChrootDirectory
в sshd_config
; однако, поскольку пользователь не может выйти из тюрьмы, каталог должен содержать все программы, которые пользователь будет использовать, и их данные. Вы можете использоватьпривязать креплениячтобы сделать некоторые каталоги (например /usr
) видимыми внутри тюрьмы.
решение2
Рассмотрите man 5 sshd_config
этот вариант ChrootDirectory
.
решение3
Вы можете изменить разрешения /var/www/html
так, чтобы просматривать/изменять файлы/папки мог только пользователь root.
Нравиться:
chown root:root /var/www/html