Если вы являетесь администратором сервера или хостинг-провайдером, вы, возможно, сталкивались с ситуацией, когда одному или нескольким пользователям требуется выполнить определенную команду, не имея полного доступа к системе. Здесь и на помощь приходит возможность дать пользователям nologin shell выполнить только одну команду.
Пользователь с nologin shell не может войти в систему, но может получить доступ к системным ресурсам через определенные команды. Это полезно в ситуациях, когда вы хотите ограничить действия пользователя и предотвратить нежелательные действия.
Чтобы дать возможность пользователю с nologin shell выполнить определенную команду, выполните следующие шаги:
Шаг 1: Создайте nologin shell для пользователя
Сначала вам нужно создать nologin shell для пользователя. Вы можете использовать утилиту chsh для этого. Например, для пользователя с именем user1 выполните следующую команду:
chsh -s /usr/sbin/nologin user1
Как настроить nologin shell
1. Войдите в систему под учетной записью superuser (суперпользователя) или другой учетной записью с правами администратора.
2. Откройте терминал или командную строку.
3. Введите команду, чтобы открыть файл /etc/passwd в текстовом редакторе:
sudo nano /etc/passwd
4. Найдите строку с именем пользователя, для которого вы хотите настроить nologin shell.
5. Измените значение поля оболочки на /usr/sbin/nologin:
username:x:1000:1000:User Name:/home/username:/usr/sbin/nologin
Замените «username» на имя пользователя, и оставьте все остальные значения без изменений.
6. Сохраните и закройте файл.
7. Теперь пользователь с nologin shell не сможет войти в систему или запустить команды. Однако вы можете предоставить ему возможность выполнять определенную команду, добавив ее в файл .bashrc пользователя.
8. Введите команду, чтобы открыть файл .bashrc в текстовом редакторе:
sudo nano /home/username/.bashrc
Замените «username» на имя пользователя.
9. Вставьте команду, которую вы хотите дать пользователю возможность выполнять, в конец файла .bashrc.
10. Сохраните и закройте файл.
11. Теперь, когда пользователь с nologin shell войдет в систему, эта команда будет автоматически выполняться.
Это основные шаги для настройки nologin shell и предоставления пользователю возможности запускать определенную команду. При необходимости можно также использовать другие методы, такие как использование сценария входа пользователя (login script) или использование утилиты chsh для изменения оболочки пользователя.