удалить доступ пользователя из каталога /tmp

Вы можете установить список членов группы с помощью одной команды:

gpasswd -M user1,user2,user3,... groupname

Но чтобы добавить с помощью этого, вам нужно получить существующий список:

gpasswd -M "$(getent group groupname | awk -F: '$4 {print $4","}')"user1,user2,user3,... groupname

Но проще использовать xargsили зацикливать вручную:

for u in user1 user2...
do
    gpasswd -a "$u" groupname
done

Или:

$ cat file
user1
user2
...
$ xargs -a file -n 1 gpasswd groupname -a
0
11.05.2020, 09:50
1 ответ

Изменение доступа 1777 к tmpвсе сломает. Если вы не разрешите доступ к /tmp, вы получите всевозможные неожиданные сбои.

Существует ряд решений, которые могут соответствовать или не соответствовать вашим потребностям.

  • pam-tmpdir, как отметил Стивен Китт в своем комментарии (, не знал, что)
  • установите для переменных среды TMPDIR, TEMP, TEMPDIRи TMPзначение ~/.tmpили что-то подобное (, если ваши программы/скрипты используют эту переменную POSIX)
  • изменить сценарии/программы/..., чтобы использовать подкаталог -для каждого пользователя
  • использовать виртуальную среду, например VirtualBox
  • настроить -chroot-окружение.

Это подозрительно похоже на проблему XY; единственное приложение, которое я могу придумать, это среда курса -, где вы в любом случае должны создать (виртуальную )среду для каждого пользователя/группы.

0
28.04.2021, 23:15

Теги

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