1

Я хочу разрешить конкретному пользователю выполнять скомпилированную программу в моем каталоге. Я получил его имя пользователя от cat /etc /passwd. Исполняемый файл не записывает никаких файлов, но читает несколько и выдает данные в командной строке. Как мне этого добиться?

3 ответа3

4

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

  1. Создать группу groupadd Group_name

  2. Изменить группу файла (исполняемый и те, которые будут прочитаны) chgrp Group_name file

  3. Сделать исполняемый файл доступным для членов группы chmod g+x executable_file executetable_file

  4. Сделайте все файлы, которые ему / ей понадобятся для чтения, группой chmod g+r file

  5. Добавить пользователя и себя в группу useradd -G Group_name username

2

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

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

sudo ~user19448/myprogram/runme

Сначала вы должны настроить sudo (с помощью visudo) на что-то вроде:

particular-user ALL=(ALL) NOPASSWD: /home/user19448/myprogram/runme

NOPASSWD избавляет вас от необходимости вводить собственный пароль, который вы, вероятно, хотите.

2

Лучший вариант - вы оба должны быть в одной группе. Допустим, вы создаете группу под названием team и вы оба являетесь ее членами. Затем вы можете позволить ему выполнить его, дав группе разрешение на выполнение для этой программы.

Допустим, у вас есть два пользователя с именем test и test1

# groupadd team

# usermod -G team test

# usermod -G team test1

Допустим, каталог, в котором находится ваша программа, называется /home/test/programs/program1

Теперь измените групповое владение каталогом и программой.

# chown test:test1 /home/test/programs/program1

# chown test:test1 /home/test/programs/

# chmod g+x /home/test/programs/program1

# chmod g+x /home/test/programs/

Теперь пользователь test1 сможет выполнить программу.

Этот способ более безопасен и не позволяет другим злоупотреблять им.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .