Как создать каталог, который будет иметь доступ к пользователю, который устанавливает пакет?

https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting#Per-application_volumes_change_when_the_Master_volume_is_adjusted

Это настройка pulseaudio по умолчанию, чтобы связать все тома вместе. Установка

flat-volumes = no

в /etc/pulse/daemon.conf должна исправить это!

-121--105713-

Обычно возможности наследуются нижестоящим элементам. Как указано в manpage :

Нижестоящий элемент, созданный с помощью вилки (2), наследует копии родительских наборов возможностей.

Проблема скриптов заключается в том, что они не являются непосредственно исполняемыми. Ядро проходит через список проверок (код ядра находится в fs/binfmt_*.c). Один из них - «binfmt_script.c,», который проверяет первую строку на шебанг, затем вызывает реальный интерпретатор (тот, что в шебанге) с вашим сценарием в качестве аргумента. Поэтому вызывается стандартный/общий интерпретатор, который просто считывает сценарий в качестве аргумента.

Это означает, что вам придется установить возможность на интерпретаторе, а не на сценарии. То же самое относится к suid битам и другим специальным флагам.

Поэтому либо вы делаете копию вашего интерпретатора, устанавливаете на нем нужные возможности (также проверьте, что никто не может получить к нему доступ через chmod/chown), и вызываете этот скопированный интерпретатор в своем шебанге. Можно также использовать логику setcap в сценарии.

-121--31474-

Будут распечатаны имена разорванных symlinks в текущем каталоге.

for l in $(find . -type l); do cd $(dirname $l); if [ ! -e "$(readlink $(basename $l))" ]; then echo $l; fi; cd - > /dev/null; done

Работает в Баше. Не знаю о других снарядах.

0
02.03.2014, 05:40
2 ответа

То, что вы просите о дозе, не имеет смысла. Пользователь, выполняющий установку, всегда является пользователем root. Если вы хотите, чтобы новые пользователи автоматически помещали этот файл в свой домашний каталог, добавьте его в / etc / skel. Если у существующего пользователя его нет, тогда программа должна иметь возможность справиться с этим, возможно, автоматически создавая его, возможно, копируя значения по умолчанию из / etc / skel или, возможно, / usr / share.

4
28.01.2020, 02:17

Насколько мне известно, postinst - это просто сценарий оболочки, поэтому вы можете делать все, что захотите (разумно) внутри этого сценария . Возможно, выполнение chown или chmod для каталога впоследствии установит разрешения так, как вы хотите.

debian/postinst:
...
configure)
the_user="xyz"
#Creating the user if it does not exist
if ! getent passwd $the_user > /dev/null; then
adduser $the_user
fi

chown -R $the_user /path/to/some/file
1
28.01.2020, 02:17

Теги

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