Як запобігти віддаленому входу, але ввімкнути локальне "su ім'я користувача"


1

Ми пишемо заявку (perl, mysql), яка буде працювати без голови на * nix (ймовірно, CENTOS).

Як я можу налаштувати / захистити локального користувача / пароль для облікового запису "додаток" (де програма працює), щоб,

  • віддалений ssh-логін неможливий.
    ssh працює, тому вхід для всіх облікових записів, але мені потрібно захистити цей єдиний обліковий запис
  • додаток "su" працює для користувачів із наявними обліковими записами

Як називається така установка? Я, звичайно, не перший, хто спробував це, він повинен бути задокументований багато разів, але я не можу знайти відповідні пошукові терміни для Google.


EDIT: Рішення

Я додав рядки:

# prevent certain users from using ssh for login
# while retaining the option to 'su username'
DenyUsers app

до / etc / ssh / sshd_config

потім перезавантажте sshd, використовуючи

service sshd restart

Тепер я можу ввійти як "користувач" через ssh та "su app", щоб працювати як додаток.

Відповіді:


2

розмістіть усіх користувачів у групі "remote_users" і вкажіть у своєму sshd.conf , що лише користувачі з цих груп можуть входити через ssh:

AllowGroups

         This keyword can be followed by a list of group name patterns,
         separated by spaces.  If specified, login is allowed only for
         users whose primary group or supplementary group list matches one
         of the patterns.  Only group names are valid; a numerical group
         ID is not recognized.  By default, login is allowed for all
         groups.  The allow/deny directives are processed in the following
         order: DenyUsers, AllowUsers, DenyGroups, and finally
         AllowGroups.

встановлення оболонки для входу на / bin / false перешкоджає місцевому користувачеві бути доступним до «su app» або «su - app»
lexu

як бічне запитання: навіщо користувачам взагалі робити цей "додаток"?
akira

Чому не можна просто заборонити групі / користувачеві "додатків" заборонити входити через sshd.conf?
foraidt

@akira: не всі користувачі, лише деякі. Їм потрібно редагувати crontable, змінювати конфігураційні файли, виконувати завдання тощо, які залежать від облікових даних користувача програми. Ми не хочемо, щоб вони увійшли як "додаток", тому вони вважають, що система може їх ідентифікувати => уберегти винних від неприємностей.
lexu

@mxp та @akira: Я вивчу можливості sshd.cond, thx
lexu

0

Якщо ви використовуєте ключі opensh для входу через ssh, ви можете просто заборонити введення пароля для всіх облікових записів. suING все-таки була б можливою.


Це було розглянуто, але заперечено, оскільки користувачі не завжди можуть мати при собі ключі ssh (моє твердження, що вхід на домашній сервер, а потім ssh-ing на цільовий додаток не проникав / вважався складним)
lexu

В ПОРЯДКУ. Технічно все-таки є можливість.
innaM
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.