Создание учетной записи пользователя, выделенной единственному сценарию в песнях

Существует два подхода, которые я рассмотрел бы;

  1. Используйте VMware ThinApp - берут VM и мини-гипервизор, и делает единственный .exe от них, нет буквально ничего, что они могут сделать для изменения способа, которым работает VM. У Вас просто был бы VM с клиентом VPN в этом, дал им, что они хотели и ничто больше. Это только работает над Windows, хотя, так альтернативно Вы могли просто выполнить тот же VM в VMware Workstation для Windows & Linux и Fusion для Mac.
  2. Используйте что-то как Представление Citrix или VMware для выполнения этих машин в сети, но пользователи могут только использовать их от веб-браузера, серьезно ограничивает их опции бездельничать Вам.
1
задан 7 January 2013 в 10:07
2 ответа

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

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

command ="command",  KEY

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

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

1
ответ дан 3 December 2019 в 19:01

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

FYI: ~ / .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

[EDIT] useradd -m username will create a user with his home directory as /home/username

If you really want to limit this user's scope only to read and execute your perl script, you need to set immutable attribute for his home directory

Setting immutable attribute:

sudo chattr +i /home/username

Removing immutable attribute:

sudo chattr -i /home/username

If you do so, this user can't touch anything new in his home directory. But he can execute/read your perl script

2
ответ дан 3 December 2019 в 19:01

Теги

Похожие вопросы