Динамически получить имя пользователя в скрипте Postinst пакета .deb - PullRequest
0 голосов
/ 14 декабря 2018

Я написал скрипт Postinst для изменения владельца и прав доступа к файлу:

chown -R $(whoami)  ~/Desktop/my_file.desktop
chmod 777 ~/Desktop/my_file.desktop

, но после установки он ничего не делает.

Я действительно не понимаю, какая часть скрипта неверна.Подскажите пожалуйста, как динамически получить имя пользователя в скрипте Postinst?

1 Ответ

0 голосов
/ 14 декабря 2018

Установка пакета выполняется как root, безоговорочно.Нет концепции вызывающего пользователя;на самом деле установка пакета может произойти, например, до того, как на коробке появятся какие-либо учетные записи пользователей.

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

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

Наконец, все, что вы пытаетесь сделать, chmod 777 это неправильно и опасно. Вы абсолютно не должны назначать права на запись для всех, ни для чего, когда-либо.

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

...