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

Создание учетной записи пользователя, посвященной одному скрипту в centos

Я пытаюсь сделать SSH-логин для кого-то на моем компьютере. Но когда они входят в систему, я хочу, чтобы он автоматически загружал скрипт Perl, и чтобы они ТОЛЬКО громко могли видеть / использовать этот скрипт perl.

Я знаю только, как использовать команду useradd, я не знаю, как установить perms ect.

Я не знаю, как это объяснить более подробно. Но любая помощь будет приятной !!!

Создайте нового пользователя для этого «кого-то» и укажите свой perl скрипт в своем домашнем каталоге, а затем сделайте запись в его .bash_profile для вызова perl сценарий.

К вашему сведению: ~ / .bash_profile запускается во время каждой оболочки входа в систему (например: ssh, переключение пользователя и т. Д.)

Пример:

suku@ubuntu-vm:~$ cat hello.pl 
#!/usr/bin/perl
print "Hello World\n";

suku@ubuntu-vm:~$ cat .bash_profile 
perl ~/hello.pl

suku@ubuntu-vm:~$ su - suku
Password: 
Hello World

[РЕДАКТИРОВАТЬ] useradd -m username создаст пользователя с его домашним каталогом как /home/username

Если вы действительно хотите ограничить область действия этого пользователя только для чтения и выполнения вашего сценария perl, вам необходимо установить неизменяемый атрибут для его домашнего каталога

Установка неизменяемого атрибута:

sudo chattr +i /home/username

Удаление неизменяемого атрибута:

sudo chattr -i /home/username

Если вы это сделаете, этот пользователь не сможет ничего нового в своем домашнем каталоге. Но он может выполнить / прочитать ваш Perl-скрипт

Лучший способ сделать это - использовать файл authorized_keys. Вы можете ограничить пользователя запуском только одной команды с одним ключом. Итак, если пользователь войдет в систему с одним указанным ключом, он сможет выполнить только одну команду.

Настройка заключается в использовании директивы command = "", указанной в файле authorized_keys. Синтаксис для этого выглядит так:

command ="command",  KEY

Это говорит SSH запустить команду, а затем выйти. Это эффективно ограничивает вашу возможность запускать команды на удаленном сервере.

Для безопасного выполнения нескольких команд у вас есть несколько вариантов. Во-первых, рассмотрите возможность вызова сценария вместо команды. Например, запустите top, df -k и имя хоста из сценария оболочки с именем myscript.sh и установить command="/path/to/myscript.sh". Во-вторых, если вам нужно запускать несколько команд в разное время в течение дня на одном и том же хосте, вы можете создать другой ключ для своего пользователя.

Для функции автоматической загрузки вы можете просто поместить его в .bash_profile, находящийся в их домашнем каталоге, как описано Суку.