Ограничить доступ пользователей в Linux

Ограничить доступ пользователей в Linux

Я создаю нового пользователя со следующими данными:

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

Связанный контент