По умолчанию, htop
списки каждый поток процесса отдельно, в то время как ps
не делает. Для выключения дисплея потоков нажать H
, или используйте меню "Setup / Display options", "Скройте потоки пространства пользователя". Это вставляет следующую строку Ваш ~/.htoprc
или ~/.config/htop/htoprc
(можно альтернативно поместить его там вручную):
hide_userland_threads=1
(Также hide_kernel_threads=1
, переключенный путем нажатия K
, но это 1 по умолчанию.)
Другая полезная опция является “Потоками дисплея в другом цвете” в том же меню (highlight_threads=1
в .htoprc
), который заставляет потоки быть отображенными другим цветом (зеленый в теме по умолчанию).
В первой строке htop
дисплей, существует строка как “Задачи: 377, 842 thr, 161 kthr; 2 выполнения”. Это показывает общее количество процессов, потоков пространства пользователя, потоков ядра, и распараллеливает в выполнимом состоянии. Числа не изменяются, когда Вы фильтруете дисплей, но признаки “thr” и “kthr” исчезают, когда Вы выключаете включение пользователя/потоков ядра соответственно.
Когда Вы видите несколько процессов, у которых есть все характеристики, общие кроме PID и связанных с ЦП полей (Хорошее значение, % ЦП, ВРЕМЯ +...), очень вероятно, что они - потоки в том же процессе.
Основные две возможности командной строки:
su
и введите пароль root при запросе.sudo
перед командой, и вводят Ваш пароль при запросе.Это - предпочтительный метод для большинства систем, включая Ubuntu, Linux Mint, (возможно) Debian и других. Если Вы не знаете отдельного пароля root, используйте этот метод.
Sudo требует, чтобы Вы ввели свой собственный пароль. (Цель состоит в том, чтобы ограничить повреждение при отъезде клавиатуры необслуживаемой и разблокированной, и также гарантировать, чтобы Вы действительно хотели выполнить ту команду, и это не было, например, опечатка.) Это часто настраивается для не выяснения снова в течение нескольких минут, таким образом, можно выполнить несколько sudo
команды по очереди.
Пример:
sudo service apache restart
Если необходимо выполнить несколько команд как корень, префикс каждый из них с sudo
. Иногда, более удобно выполнить интерактивную оболочку как корень. Можно использовать sudo -i
для этого:
$ sudo -i
# command 1
# command 2
...
# exit
Вместо sudo -i
, можно использовать sudo -s
. Различие - это -i
повторно инициализирует среду к нормальным значениям по умолчанию, тогда как -s
использует Ваши конфигурационные файлы для лучше или для худшего.
Для получения дополнительной информации посмотрите sudo веб-сайт или тип man sudo
в Вашей системе. Sudo очень настраивается; например, это может быть настроено, чтобы позволить определенному пользователю только выполнить определенные команды как корень. Читайте sudoers
страница справочника для получения дополнительной информации; использовать sudo visudo
отредактировать sudoers файл.
su
команда существует в большинстве подобных Unix систем. Это позволяет Вам выполнить команду как другому пользователю, если Вы знаете что пароль пользователя. Когда выполнено без пользователя указал, su
примет значение по умолчанию в корневую учетную запись.
Пример:
su -c 'service apache restart'
Команда для выполнения должна быть передана с помощью -c
опция. Обратите внимание необходимость в кавычках так, чтобы команда не была проанализирована оболочкой, но передана неповрежденная корневой оболочке это su
выполнения.
Для выполнения нескольких команд как корня более удобно запустить интерактивную оболочку.
$ su
# command 1
# command 2
...
# exit
В некоторых системах необходимо быть в группе номер 0 (названный wheel
) использовать su
. (Точка должна ограничить повреждение, если пароль root случайно пропущен кому-то.)
Если существует набор пароля root, и Вы обладаете им, можно просто ввести root
при приглашении ко входу в систему и вводят пароль root. Будьте очень осторожны, и постарайтесь не запускать сложные приложения как корень, поскольку они могли бы сделать что-то, что Вы не предназначали. Вход в систему непосредственно как корень главным образом полезен в чрезвычайных ситуациях, таков как отказы диска или когда Вы заблокировали себя из своей учетной записи.
Однопользовательский режим или уровень выполнения 1, также дает Вам полномочия пользователя root. Это предназначается, прежде всего, для ситуаций с экстренным техобслуживанием, где начальная загрузка на многопользовательский уровень выполнения не возможна. Можно загрузиться в однопользовательский режим путем передачи single
или emergency
на командной строке ядра. Обратите внимание, что начальная загрузка в однопользовательский режим не является тем же как начальной загрузкой системы обычно и входом в систему как корень. Скорее система только запустит сервисы, определенные для уровня выполнения 1. Как правило, это - самое маленькое количество сервисов, требуемых иметь применимую систему.
Можно также добраться до однопользовательского режима при помощи команды telinit: telinit 1
; однако, эта команда требует, чтобы Вы уже получили права пользователя root с помощью некоторого другого метода, для выполнения.
Во многих системах, загружающихся в однопользовательский режим, предоставит пользовательский доступ к корневой оболочке, не запрашивая пароль. В частности, systemd
- основанные системы предложат Вам пароль root при начальной загрузке этого пути.
Calife позволяет Вам команды выполнения как другой пользователь путем ввода собственного пароля, если авторизовано. Это подобно намного более широко распространенному sudo (см. выше). Calife более легок, чем sudo, но также и менее настраивается.
Op позволяет Вам команды выполнения как другой пользователь, включая корень. Это не полноценный инструмент для выполнения произвольных команд: Вы вводите op
сопровождаемый мнемосхемой, настроенной системным администратором для выполнения определенной команды.
Супер позволяет Вам команды выполнения как другой пользователь, включая корень. Команда, должно быть, была позволена системным администратором.
См. также Википедию.
Просто снабдите префиксом свою желаемую команду команду pkexec
. Знайте, что, в то время как это работает в большинстве случаев, это не работает универсально.
Посмотрите man pkexec
для получения дополнительной информации.
kdesu
и kdesudo
графические фронтенды к su
и sudo
соответственно. Они позволяют Вам запускать программы X Window как корень без преград. Они - часть KDE. Ввести
kdesu -c 'command --option argument'
и введите пароль root или тип
kdesudo -c 'command --option argument'
и введите свой пароль (если авторизовано для выполнения sudo
). Если Вы проверяете, “сохраняют пароль” опцией в KdeSu, необходимо будет только ввести пароль root однажды на сессию входа в систему.
Ktsuss (“сохраняют su простое, глупое”) является графической версией su.
BeesuBeesu является графическим фронтендом к команде su, которая заменила Gksu в основанных на Red Hat операционных системах. Это было разработано главным образом для RHEL и Fedora.
gksu
и gksudo
gksu
и gksudo
графические фронтенды к su
и sudo
соответственно. Они позволяют Вам запускать программы X Window как корень без преград. Они - часть Gnome. Ввести
gksu command --option argument
и введите пароль root или тип
gksudo command --option argument
и введите свой пароль (если авторизовано для выполнения sudo
).
gksu
и gksudo
являются устаревшими. Они были заменены PolicyKit в GNOME, и много дистрибутивов (таких как Ubuntu) больше не устанавливают их по умолчанию. Вы не должны зависеть от них являющийся доступным или работающий правильно.
Используйте один из методов в "выполнении команды оболочки как корневой раздел". Вы не должны будете гарантировать этому ни одного DISPLAY
переменная среды, ни XAUTHORITY
среда сбрасывается во время перехода к корню. Это может потребовать дополнительной конфигурации тех методов, которая выходит за рамки этого вопроса.
В целом, это - плохая идея, главным образом потому что графические приложения считают и запишут конфигурационные файлы как корень, и когда Вы попытаетесь использовать те приложения снова как Ваш обычный пользователь, те приложения не будут иметь разрешения прочитать их собственные конфигурации.
Посмотрите, Как я редактирую файл как корень?
Использовать su
:
$ su -c command
или
$ su
# command
# exit
В любом случае Вам предложат root
пароль. Для получения дополнительной информации см. страницу руководства.
Так как вопросом не был конкретный Linux, вот то, как Вы достигаете той же цели в Солярисе 9 + (или Солярисе, которому Доверяют, 8):
Солярис, начиная с версии 9, включал комплект инструментов, нежно называемых RBAC или основанным на роли Управлением доступом.
Суть RBAC - то, что посредством предоставления Полномочий и Прав, Пользователям и/или Роли или предоставлению Ролей Пользователям, можно создать невероятно мелкомодульные модели для того, кто может работать что с который полномочия.
По существу Вы определяете авторизацию в/etc/security/auth_attr, затем предоставляете их пользователям или ролям в/etc/user_attr.
Вы определяете профили в/etc/security/prof_attr. Вы затем связываете команды с теми профилями в/etc/security/exec_attr, сопровождаемом путем присвоения тех профилей пользователям в/etc/user_attr файле.
После того как те вещи сделаны, Вы на самом деле работаете pfexec <command>
выполнить команду с привилегированным или полномочиями, которые предоставляют тому пользователю для той команды.
Хорошая вещь о RBAC состоит в том, что нет никаких дополнительных полномочий, предоставленных самой команде или пользователю, только комбинации пользователя + команда. Таким образом, более безопасно, чем создание двоичного файла +s, или просто использование sudo заставить пользователя смочь выполнить в значительной степени что-либо. (Я знаю, что можно заблокировать вниз sudo, но по моему опыту большинство людей не делает),
Другое преимущество RBAC состоит в том, что можно сделать корень ролевой учетной записью и присвоить ту роль пользователям, которые могут стать корнем с командой 'su' и паролем root. Пользователь root также сможет войти в систему в Однопользовательском режиме, который лучше (по-моему), чем модель Linux, где можно отключить пароль root passwd -d root
, или заблокируйте корневую учетную запись passwd -l root
, оба из которых делают вход в систему как корень довольно трудно, когда что-то идет не так, как надо.
У Ben Rockwood есть большое сообщение в блоге на RBAC, который может быть считан при Использовании RBAC на (Открытом) Солярисе.
Или можно дать некоторым командам супердержаву. Я говорю о специальных полномочиях, в которых команды выполняются с разрешением владельца.
Получите путь команды #which <command>
и набор SUID или SGID для того пути.
P.S. - SUID и биты SGID должны быть даны с осторожностью. Они могут сделать Вашу систему небезопасной.
sudo
будет только работать если (1) это установлено и (2) если Ваше использование находится в sudoers файле и это позволило выполнять операцию. – n0pe 17.08.2011, 15:19pkexec
заменяетgksu
/gksudo
в большом количестве дистрибутивов в наше время. – strugee 18.11.2013, 05:30