Как предоставить пользователю привилегии chown и chmod для определенного каталога в Linux |

Как предоставить пользователю привилегии chown и chmod для определенного каталога в Linux

Мануал

Мы хотим дать пользователю привилегии root.

Пользователь может запускать команды chown и chmod для определенных файлов или каталогов.

Как это можно допустить?

Вариант № 1

Вы можете использовать групповое владение и setgid каталоги.

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

# chgrp [GROUP] [PATH] 
# chmod g+ws [PATH]

Вариант № 2

1. Настройте списки контроля доступа для файлов в разделе [PATH].

Прежде чем использовать ACL для файла или каталога, раздел, содержащий файл / каталог, должен быть смонтирован с поддержкой ACL.

Например, если это локальная файловая система ext3, ее можно смонтировать с помощью следующей команды:

# mount -t ext3 -o acl [DEVICE] [PATH] 1  2

Где,
– DEVICE: устройство, на котором находится каталог / файл (т.е. /dev/volgroup/logvolume)
– PATH: Путь к нужному каталогу / файлу

2. Если раздел уже указан в файле /etc/fstab, то для доступа к acl можно указать следующее:

# vim /etc/fstab 
...
LABEL=[PATH]   [PATH]      ext3    acl        1 2

3. Сделайте все новые файлы в нужном каталоге доступными для группы [GROUP]:

# groupadd [GROUP]
# chgrp [GROUP] [PATH]

4. Теперь дайте дополнительные разрешения [PATH], чтобы пользователи могли получать доступ и редактировать файлы в каталоге:

# setfacl -m g:[GROUP]:rwx [PATH]

5. Проверьте права доступа группы:

# getfacl [PATH]

6. Теперь сделайте нужного пользователя членом [GROUP]:

# usermod -a -G [GROUP] [USER]

7. Проверьте права пользователя:

# id [USER]

ПРИМЕЧАНИЕ. Вы можете установить списки ACL для каждого пользователя, но зачастую проще объединить пользователей, которые должны иметь определенные права на часть файловой системы, в группу и установить ACL для этой группы. Например, пользователи в группе [GROUP] должны иметь права на чтение и запись в каталог [PATH]:

# setfacl -d -m group:[groupname]:rwx [PATH]
setfacl -m group:[groupname]:rwx [PATH]

Вариант № 3

1. Вы можете ограничить использование команды [USER] всеми аргументами в файле /etc/sudoers.

Это будет сделано с помощью команды visudo.

Например, разрешите [USER] chmod каталогу [PATH], а chmod 755 каталогу [PATH.2]

# visudo
[USER] ALL=NOPASSWD:/bin/chmod [0-7][0-5][0-5] [PATH]*,/bin/chown [USER]:[GROUP] [PATH]*,/bin/chmod 755 [PATH.2]*.txt

2. Также предлагается включить ведение журнала для каждой операции, добавив:

Defaults logfile=/var/log/sudo.log

Пример вывода

# su - [USER]
$ sudo /bin/chmod 755 [PATH]
$ sudo /bin/chmod 755 [PATH]*
$ sudo /bin/chmod 777 [PATH.2]*.txt
Sorry, user myuser is not allowed to execute '/bin/chmod 777 [PATH.2]*.txt' as root on myhost.mydomain.
$ sudo /bin/chmod 755 /var/www/html2/myapp/*.txt

Вариант № 4

1. Создайте скрипт Bash (или оболочку по вашему выбору), чтобы ограничить изменения, сделанные в конкретном файле или каталоге.

Например, чтобы добавить разрешения rwx в группу: user: other, выполните следующие действия:

$ vi /usr/local/bin/mychmod
#!/bin/bash
$ chmod 777 [PATH]

2. Затем вы измените файл sudoers, чтобы пользователь мог выполнить /usr/local/bin/mychmod.

Имейте в виду, однако, что разрешить ввод данных пользователем (например, позволить пользователю изменять, какой файл или каталог chmodded) в это пространство чрезвычайно опасно, и вам нужно знать, как отфильтровать атаки с использованием инъекций, если вы хотите сделать что-то подобное.

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

ПРЕДУПРЕЖДЕНИЕ. При настройке этих разрешений предполагается, что это доверенный человек. Будьте осторожны с правами доступа к файлам, так как нет прямого способа остановить атаки злонамеренных пользователей sudo.

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий