переключение от пользователя для укоренения и отворот (FreeBSD)

-B опция к grep делает точно что: grep -B 4 ORA- your_file.

В отсутствие GNU grep, Я адаптировался grep4 пример из гримуара sed учебное руководство:

#!/bin/sh

# grepB4: prints out 4 lines before and the line including pattern
# if there is only one argument, exit

case $# in 
    1);;
    *) echo "Usage: $0 pattern";exit;;
esac;

sed -n '
'/"$1"/' !{
    # does not match - add this line to the hold space
    H
    # bring it back into the pattern space
    x
    # Two lines would look like .*\n.*
    # Three lines look like .*\n.*\n.*
    # Delete extra lines - keep four
    s/^.*\n\(.*\n.*\n.*\n.*\)$/\1/
    # put it back in hold space
    x
}
'/"$1"/' {
    # matches - append the current line
    H
    # bring hold space contents into pattern space
    g
    # print the 4 lines
    p
    # add the mark
    a\
---
}'

Использование: grepB4 pattern < file.

Ответ Bruce Ediger делает по существу то же самое с awk, который часто имеет менее загадочный синтаксис, чем sed.

1
09.08.2014, 14:56
1 ответ

Попробовать su, для получения корневой оболочки как пользователя введите пароль корня при выяснении. Посмотрите man su для большего количества информации:

Имя: su — замените пользовательскими идентификационными данными

РЕЗЮМЕ su [-] [-flms] [-c class] [login [args]]

ОПИСАНИЕ su утилита запрашивает соответствующие удостоверения пользователя через PAM и переключается на тот идентификатор пользователя (пользователь по умолчанию является суперпользователем). Оболочка затем выполняется.

Это также позволяет Вам переключиться от корня до пользователя, просто использовать su - loginname

Ошибка портов, которую Вы отправили, прибывает из выполнения make install как некорневой пользователь, таким образом с помощью su во-первых, все должно быть прекрасным. Знайте, что можно также захватить двоичные пакеты через pkg_add -r sudo (как корень).

Редактирование, которое я просто более внимательно рассмотрел, мог это быть, что оболочка Вашей корневой учетной записи установлена на /usr/local/bin/bash но что этот файл не существует? Если так, проверьте этот поток форума, как разрешить, что "корневая оболочка испортила" проблему, и дайте этому попытку:

 $ su -m root -c /bin/csh
 Password:  # <-- root password
 # chsh     # <-- change root shell

(Но также и считайте подсказки при использовании toor пользователь как лучшая администраторская учетная запись при отъезде root безопасный и неповрежденный.)

2
27.01.2020, 23:39
  • 1
    является очень хорошим ответом sr_., но к сожалению я пробую su, и затем я поместил пароль, у меня есть та же передача в мои 2 пользователей - корень, и pstnc (pstnc пользователь, которого я создал вручную), и дайте мне ошибку: ПЛОХОЙ SU pstnc для укоренения см. снимок экрана., и спасибо.. наилучшие пожелания –  pstnc 13.03.2012, 13:04
  • 2
  • 3
    посмотрите мое редактирование :) –  sr_ 13.03.2012, 13:20
  • 4
    привет снова, я пробую его, и все еще не работает.. я пробую эти 3 решения, 2 от темы форума и Вашего, но неудачно :( я присоединяю снимок экрана со своими тестами imageshack.us/photo/my-images/826/errorunix3.png.. Вопрос: я не делаю теперь, если вчера имеют некоторое отношение к этому, я создаю 2 новых сессии Alt+F2, Alt+F3, и по этой причине не работает!?! просто выяснение –  pstnc 13.03.2012, 13:43
  • 5
    Действительно попробуйте это, т.е. начальную загрузку в однопользовательском режиме и т.д., но измените корневую оболочку (chsh root) к /bin/csh, нет /usr/local/bin/bash (так как это не существует). –  sr_ 13.03.2012, 13:47

Теги

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