Как определить, работает ли X-сервер с полномочиями пользователя root

Упаковка двоичного файла или сценария очень проста. В самом тривиальном случае Вам нужен a .deb пакет, который содержит копию Вашего двоичного файла в usr/bin/yourbinary. Однако существует много вещей, необходимо заботиться о том, если Вы хотите, чтобы другие нашли это применимым.

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

Когда Вы работаете dh_make -s -n в каталоге, где Вы разрабатываете свой сценарий, Вы добираетесь для заполнения некоторых деталей, таких как описание пакета и имя и адрес электронной почты. Инструмент создаст a debian/ каталог с некоторыми шаблонными файлами, которые необходимо или изменить или удалить. (Те с *.ex имена являются, вероятно, всей пользой для удаления.)

(dh_make следит за именем каталога; это распечатает сообщение об ошибке, направляющее Вас для использования dh_make -s -n -p yourpackage_0.01 продолжаться, не переименовывая каталог.)

  • Пакет должен иметь полезное имя и описание. Это находится в debian/control файл. Это также, где можно заставить его зависеть от других пакетов или даже конкретных версий других пакетов.
  • Должна быть капелька документации; файлы debian/README и debian/changelog должен быть обновлен для содержания больше, чем просто шаблон. Если у Вас есть примечания для самого пакета, Вы могли бы хотеть вставить их debian/README.Debian; иначе удалите этот файл. Подобный для debian/README.source, т.е. примечания для кого-то загружающего источники пакета apt-get source yourpackage. Эти файлы закончатся в /usr/share/doc/yourpackage когда Вы устанавливаете yourpackage. Если Вы хотите поместить другие файлы там, добавьте их имена к (теперь пустой) текстовый файл debian/docs. Иначе можно удалить этот файл, также.
  • Обзор debian/copyright и обновите его при необходимости. Это также закончится в /usr/share/doc/yourpackage.

Существует богатство материала об упаковке Debian и dh-make на всем протяжении Интернета; этот ответ очевидно очень краток и summaric. Для действительно надлежащего пакета необходимо считать и понять всю политику Debian.

4
30.07.2014, 15:10
1 ответ

Существует несколько способов вывода идентификатора пользователя (UID) с помощью ps ; простой - с помощью -f :

ps -fC X

предоставит вам информацию обо всех запущенных X-серверах (их может быть больше одного).

Предполагается, что исполняемый файл называется X - если такого процесса нет, вам придется выбрать что-то другое. Поскольку в нем почти наверняка есть заглавная буква X (например, Xorg , X11 ), альтернативой является фильтрация через grep:

ps -o uid,comm -A | grep X

Это удаляет заголовки столбцов, но UID - это числовой слева. Если это 0 , значит, процесс выполняется с правами root. Если ничего не появляется, попробуйте ps -fA | grep X ; в этом больше беспорядка.

Наконец, если в названии нет процесса с большой буквы X , попробуйте x ; вы можете по крайней мере найти команды, используемые для управления им, такие как startx или xinit . Вы также можете попробовать dm , поскольку менеджеры дисплея обычно имеют это в своем имени ( gdm и т. Д.). Однако на самом деле ни один из них не является X-сервером, и хотя xinit запускает сервер, исполняемый файл сервера часто имеет бит setuid, установленный , то есть даже несмотря на то, что xinit имеет непривилегированный UID, X будет работать как root .

6
27.01.2020, 20:52

Теги

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