Назад | Перейти на главную страницу

Отключите пользователей CentOS от всего, кроме использования samba.

У меня есть сервер хранения, на котором запущено несколько общих ресурсов самбы. Мне нужно создать несколько пользователей для каждого человека, работающего в моей компании, но я хочу, чтобы они имели доступ к самбе только с клиентских машин. Я не хочу, чтобы они могли входить в систему локально или через ssh. Есть ли способ запретить указанным пользователям делать что-либо, НО подключаться к общим ресурсам с другой машины?

Вы можете использовать smbpasswd программа для создания и управления пользователями, которые могут получить доступ к ресурсам samba и т. д., но, как говорится на странице руководства

-a Этот параметр указывает, что следующее имя пользователя должно быть добавлено в локальный файл smbpasswd с вводом нового пароля (введите старый пароль) ... Обратите внимание, что бэкэнд passdb по умолчанию требует, чтобы пользователь уже существовал в системном файле паролей (обычно / etc / passwd), иначе запрос на добавление пользователя завершится ошибкой.

Это не большая проблема, поскольку вы можете заблокировать пользователя loal как часть создания учетной записи.

useradd freddy
passwd -l freddy
smbpassdw -a freddy
New SMB password:
Retype new SMB password:
Added user freddy.

Создаст пользователя freddy, который может использовать акции samba, но не может войти в систему

На самом деле вам следует ограничить доступ ssh к названная группа или отдельные лица как само собой разумеющееся (то есть белый список).

Вы можете контролировать доступ для любого служба аутентификации pam с использованием модулей, которые входят в стандартную комплектацию большинства дистрибутивов.

Вы не говорите, какие службы предоставляют доступ для «локального входа». Помимо настройки pam, с помощью getty вы можете установить / etc / nologin, который блокирует всех, кроме root, или изменить пользовательские оболочки на что-то еще. Я не думаю, что есть специальные инструменты для kdm / gdm / xdm (но опять же они будут использовать pam).

Кстати: если вы need to create multiple users for each individual тогда вы, вероятно, делаете что-то не так.

В зависимости от того, как вы настроили Samba для аутентификации пользователей, ограничение доступа этих пользователей к SSH-входу будет отличаться.

Если вы настроили Samba в «Пользовательском» режиме с бэкэндом tdbsam, вы можете просто вызвать «usermod -L», чтобы заблокировать учетную запись пользователя. Это не нарушит доступ Samba, если вы также не заблокируете учетную запись Samba.

Это также работает, если вы аутентифицируете пользователей с помощью контроллера домена в режиме «Домен» (который также требует учетных записей локальных пользователей).

Кажется, это не ваш случай, но если вы используете Winbind для интеграции с активным каталогом и хотите ограничить вход по SSH только локальным пользователям (не пользователям уровня домена), вы можете отключить PAMAuthentication в sshd.config.

Против чего аутентифицируется Samba на бэкэнде? Samba может использовать собственную базу данных. Похоже, это был бы самый простой способ ограничить доступ пользователей Samba к любому ресурсу в базовой системе.

passdb backend = ???