Владелец init и xterm

Я не понимаю, что является владельцем процесса. Владелец bash – это я. Тогда кто является владельцем init и xterm? Я искал в Google, но не могу найти.

3 Solutions collect form web for “Владелец init и xterm”

Обычно процессы имеют идентификатор пользователя и группы, на котором они запущены, процессы, запущенные с root (идентификатор пользователя 0), могут изменять идентификатор, с которым они работают (например, ваш веб-сервер может работать как пользовательские www-данные).

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

Таким образом, вы действительно не владеете этими процессами, они работают с вашим идентификатором, и это позволяет убивать их и т. Д. Иды процесса также определяют, какие каталоги могут быть доступны и какие файлы изменены / созданы.

Процессы имеют линии, как люди. Таким же образом у людей есть родители, так же как и процессы. Если вы посмотрите на вывод ps вы увидите, кто владеет определенным процессом.

 $ ps -eaf | head -10 UID PID PPID C STIME TTY TIME CMD root 1 0 0 Dec07 ? 00:00:07 /usr/lib/systemd/systemd --system --deserialize 24 root 2 0 0 Dec07 ? 00:00:00 [kthreadd] root 3 2 0 Dec07 ? 00:00:03 [ksoftirqd/0] root 5 2 0 Dec07 ? 00:00:00 [kworker/0:0H] root 7 2 0 Dec07 ? 00:00:00 [kworker/u:0H] root 8 2 0 Dec07 ? 00:00:06 [migration/0] root 9 2 0 Dec07 ? 00:00:00 [rcu_bh] root 10 2 0 Dec07 ? 00:00:56 [rcu_sched] root 11 2 0 Dec07 ? 00:00:00 [watchdog/0] 

1-й столбец – это пользователь, которому принадлежит этот процесс. Второй столбец – это идентификатор процесса (PID), назначенный этому процессу. И третий столбец – это идентификатор родительского процесса (PPID). Этот PPID – это то, что связывает процесс с предыдущим процессом, так что PPID является идентификатором родительского процесса для определенного процесса.

Это примеры процессов, которые являются другими пользователями (помимо root), которые имеют PPID процессов, принадлежащих пользователю root.

Примеры

Автор: avahi:

 avahi 511 1 0 Dec07 ? 00:00:00 avahi-daemon: running [greeneggs.local] 

Владелец пользователя dbus:

 dbus 512 1 0 Dec07 ? 00:00:22 /bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 

Здесь мы можем видеть, где процесс, запущенный процессом, принадлежащим root, в конечном итоге охватывает процесс, принадлежащий моему имени пользователя saml .

 root 1266 547 0 Dec07 ? 00:00:00 gdm-session-worker [pam/gdm-password] saml 1277 1266 0 Dec07 ? 00:00:03 gnome-session 

Обратите внимание, что PPID для gnome-session – 1277.

Наконец, вы можете использовать несколько разных переключателей для ps чтобы увидеть визуальное дерево линии.

 $ ps -auxf root 530 0.0 0.0 296804 1824 ? Ssl Dec07 0:00 /usr/sbin/gdm root 547 0.0 0.0 380436 2208 ? Sl Dec07 0:00 \_ /usr/libexec/gdm-simple-slave --display-id /org/gnome/Dis root 584 4.0 0.5 297980 40816 tty1 Ss+ Dec07 86:37 \_ /usr/bin/Xorg :0 -background none -verbose -auth /run root 1266 0.0 0.0 516956 3160 ? Sl Dec07 0:00 \_ gdm-session-worker [pam/gdm-password] saml 1277 0.0 0.0 714828 6336 ? Ssl Dec07 0:03 \_ gnome-session 

Каждый процесс выполняется как конкретный пользователь. (Он называется «пользователь», а не «владелец».) Пользователь определяет права процессов. В частности, если процесс выполняется как пользователь sumi , то всякий раз, когда этот процесс пытается получить доступ к файлу, применяются «пользовательские» разрешения для этого файла (первая группа rwx вывода ls -l , первая цифра восьмеричного режима) ,

Ряд вещей ограничивается процессами, выполняемыми как один и тот же пользователь, такими как передача сигналов (убийство) и получение отладочной информации.

Все процессы, с которыми вы взаимодействуете напрямую – оболочка, эмулятор терминала, браузер и т. Д. – выполняются как ваш пользователь.

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

Процесс init , как и другие основные системные процессы, выполняется как системный пользователь root . У пользователя root больше прав, чем у других пользователей.

(Это поможет вам начать. Я упростил несколько аспектов пользователей процессов, привилегий и прав доступа к файлам).

  • Грепление переменной
  • Создание сценария завершения работы с update-rc.d
  • процесс init: предок всех процессов?
  • Как я могу убить процесс <defunct>, чей родительский элемент init?
  • Действие ядра Linux при выходе из процесса init
  • Использование в реальном мире «suitless» initit
  • Как заменить корневую / файловую систему на другую файловую систему?
  • где inittab присутствует в источнике ядра
  • Почему работает `killall init`, когда пользователь меня выводит?
  • Есть ли какой-либо UNIX-вариант, по которому дочерний процесс умирает с его родителем?
  • Запустите tomcat при запуске с правами администратора
  • Interesting Posts

    Создать скрипт bash для скрипта cmd

    При удалении пакета через «apt-get remove», почему вы должны (иногда) обновлять другие пакеты в процессе?

    Я застрял в следующем шаге по настройке двойной загрузки для Windows 7 и Arch Linux

    "Или" в оболочке glob

    После загрузки файла .asp или .php его можно преобразовать в .html-файл?

    Переменные области планировщика Pthread?

    Posix Character Устанавливает разницу между ] и ]?

    Сигнализировать об окончании аргументов опции: двойные тире `–` против одинарной тире` -`?

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

    FreeBSD перезагружается во время установки и оставляет недопустимую установку

    Обновлен менеджер обновлений без запроса пароля

    Мониторинг iowait в верхней части OSX / iMac

    Tar удаленный каталог без ведущих ./ на файлы

    KDE 4.14 на OpenSuse, KDE Thunderbird с надписью «Отправить как электронную почту»

    общая библиотека не найдена даже при обновленном ld.so.conf

    Linux и Unix - лучшая ОС в мире.