Как я могу предоставить права доступа к файлам нескольким группам?

mplayer поставляется с утилитой midentify , которая делает в основном то, что вы хотите.

Вывод выглядит как присвоение переменных, поэтому его довольно легко использовать в сценариях / просто для синтаксического анализа.

Если midentify не установлен с вашим пакетом mplayer , у вас может быть скрипт midentify.sh в / usr / share / mplayer или что-то в этом роде. В противном случае midenfify просто запускает mplayer с определенным набором аргументов:

#!/bin/sh
#
# This is a wrapper around the -identify functionality.
# It is supposed to escape the output properly, so it can be easily
# used in shellscripts by 'eval'ing the output of this script.
#
# Written by Tobias Diedrich <ranma+mplayer@tdiedrich.de>
# Licensed under GNU GPL.

if [ -z "$1" ]; then
        echo "Usage: midentify.sh <file> [<file> ...]"
        exit 1
fi

mplayer -vo null -ao null -frames 0 -identify "$@" 2>/dev/null |
    sed -ne '/^ID_/ {
                      s/[]()|&;<>`'"'"'\\!$" []/\\&/g;p
                    }'

-ao , -vo и ] -frames параметры не позволяют mplayer фактически воспроизводить клип. Остальное просто форматирование.

Пример:

$ midentify some_random.avi 
ID_VIDEO_ID=0
ID_AUDIO_ID=0
...
ID_VIDEO_BITRATE=258488
ID_VIDEO_WIDTH=320
ID_VIDEO_HEIGHT=240
ID_VIDEO_FPS=29.917
...
ID_LENGTH=4216.76
...
ID_AUDIO_BITRATE=64000
ID_AUDIO_RATE=22050
...
1
04.06.2018, 14:27
2 ответа

No podría hacer esto creando un nuevo grupo, ya que necesita que algunos usuarios tengan lectura y otros lectura/escritura. Eso es a menos que necesite que los usuarios de Auftragy Supporttengan permisos de lectura/escritura y todos tengan permisos de lectura, en cuyo caso podría crear un grupo que contenga a todos los usuarios de Auftragy Support, y configure la escritura grupal y la lectura mundial.

Alternativamente, y suponiendo que su sistema de archivos los admita, podría usar ACL extendidas :https://wiki.archlinux.org/index.php/Access_Control_Lists

Por ejemplo:

# setfacl -m "g:Auftrag:rw" /file/path

# setfacl -m "g:Support:rw" /file/path
1
27.01.2020, 23:32

Debo suponer que el objetivo también incluye el bit de ejecución para cambiar al directorio.

Conviértase en el usuario raíz.

sudo -i

Crear el directorio. (El usuario raíz es el propietario y propietario del grupo.)

mkdir Projekte

Defina los permisos. Hagámoslo accesible solo para root para resaltar el efecto de las ACL.

chmod 0700

Ahora aumente los permisos estándar con ACL.

setfacl -d -m g:Auftrag:7 Projekte
setfacl -m g:Auftrag:7 Projekte

setfacl -d -m g:Support:7 Projekte
setfacl -m g:Support:7 Projekte

setfacl -d -m o::5 Projeckte
setfacl -m o::5 Projeckte

Arriba, el interruptor -mes la máscara, y el interruptor -dhace que la máscara sea la máscara predeterminada para todos los objetos nuevos del sistema de archivos en el directorio. No es necesario utilizar valores octales. Lo mismo se puede escribir de la siguiente manera.

setfacl -d -m g:Auftrag:rwx Projekte
setfacl -m g:Auftrag:rwx Projekte

setfacl -d -m g:Support:rwx Projekte
setfacl -m g:Support:rwx Projekte

setfacl -d -m o::r-x Projeckte
setfacl -m o::r-x Projeckte

Las máscaras de usuario, grupo y otras funcionan de la misma manera:g:groupname:---o en combinación :u:username:---,g:groupname:---,o::---, donde osignifica otras. No especificar un nombre de usuario o nombre de grupo aplica la máscara a la propiedad actual del usuario/grupo.

Observe cómo se aplicaron tanto una máscara como una máscara predeterminada. La máscara (sin-d)se aplica al directorio mismo. La máscara (con-d)se aplica a todos los nuevos objetos del sistema de archivos en el directorio. Es fácil olvidar esto .

2
27.01.2020, 23:32

Теги

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