Рейтинг:0

Разрешение отклонено

флаг ru

Я выполняю школьное задание, и оно в значительной степени основано на деле об убийстве. Я загрузил пользовательские файлы и в настоящее время ищу ключевые слова в файлах. Вопрос, на который я сейчас отвечаю: "Найдите файл, содержащий текст «apt. № , чтобы найти эту информацию".

Я довольно новичок в Linux, и в настоящее время я получаю Доступ запрещен всякий раз, когда я ввожу следующую команду:

grep -inr apt.no

Любая помощь в том, как исправить это, будет принята с благодарностью. Файл, который я ищу, содержит кв.нет текст в файле.

bbcharlieca@myvm:~$ grep -inr apt.no.
.viminfo:92:|2,1,1635317358,47,"apt.no"
.viminfo:92:|2,1,1635317355,47,"apt.no"
grep: nano.save: Отказано в доступе
bbcharlieca@myvm:~$ â

введите описание изображения здесь

Mark Kirby avatar
флаг cn
Вам нужно запустить команду от имени пользователя root `sudo grep -inr apt.no`
Lostinthesauce avatar
флаг ru
Как мне теперь получить доступ к файлу на основе полученной информации?
Lostinthesauce avatar
флаг ru
Все прошло нормально, но я не понимаю, как это помогает мне найти, где находится файл или как называется файл.
Mark Kirby avatar
флаг cn
Что именно вы ищете, какие-то пользовательские файлы? Команда для меня возвращает список файлов, можете ли вы объяснить, чего именно вы пытаетесь достичь?
флаг st
@MarkKirby: Пожалуйста, *не* учите людей рефлекторно повышать привилегии всякий раз, когда они сталкиваются с проблемой. Вместо этого они должны *понимать* проблему и *решать* ее. Очевидно, что ОП столкнулся с файлом, к которому, по их мнению, он должен иметь доступ, но не имеет. Учить их бездумно *обходить* ограничения доступа опасно. Скорее, они должны выяснить, в чем проблема: неправильные ли ограничения доступа? Или, может быть, их мнение о том, что они *должны иметь доступ*, ошибочно? У этих двух *очень* разные решения, и *ни один из них* не включает бездумный повторный запуск программы с помощью sudo
Lostinthesauce avatar
флаг ru
Я выполняю школьное задание, и оно в значительной степени основано на деле об убийстве. Я загрузил пользовательские файлы и в настоящее время ищу ключевые слова в файлах. Вопрос, на который я сейчас отвечаю: ** Найдите файл, содержащий текст «apt. № , чтобы найти эту информацию.**
Mark Kirby avatar
флаг cn
@ JörgWMittag Я не предлагаю это бездумно, это простая команда grep, вы были очень осторожны, она не причинит вреда OP.
флаг st
@MarkKirby: Вы убеждены, что ОП полностью и полностью понимает, что делает команда, которую они запускают, что означает сообщение об ошибке, которое они получают, как и почему, *точно* команда, которую они запускают, терпит неудачу, как и почему, *точно * команда, которую они запускают, безопасна, и как и почему, *именно* команда, которую вы им предложили, безопасна? Я, если честно, нет.По сути, вы научили их двум вещам: 1) вы можете решить любую проблему, просто поставив `sudo` перед ней, и 2) запустить код, который вы не понимаете, предложенный случайным парнем в Интернете, совершенно нормально.
флаг st
Фундаментальная проблема здесь заключается в том, что OP пытается получить доступ к файлу, к которому они ожидают иметь доступ, но не имеют. У этого может быть много разных основных причин: ожидание ОП неверно (у них не должно быть доступа, и ошибка верна), ограничения доступа неверны (у них *должен* быть доступ, а разрешения неверны), они отсутствие доступа к файлу, к которому, по их мнению, они обращаются, и многие другие возможности. Все эти разные проблемы имеют разные возможные решения с разными компромиссами. Не понимая, в чем проблема, ее невозможно решить.
флаг st
Я видел бесчисленное количество вопросов на [ubuntu.se], [unix.se], [su], [so], [apple.se] и других, где люди понесли существенный экономический или эмоциональный ущерб, случайно удалив или уничтожив данные, которые был либо экономически, либо эмоционально ценен, просто потому, что они были обусловлены тем, что они могут исправить любую ошибку, которую они не понимают, поставив «sudo» перед тем, что они пытаются запустить. Что, действительно, обычно *устраняет ошибку*, но на самом деле никак не *решает проблему*.
Рейтинг:5
флаг fi

пометить grep указывает ему искать каждый файл в вашем текущем каталоге и во всех подкаталогах. (Вы можете узнать о , -, и прочитав документацию, человек grep.)

Команда совпала № кв. в файле .виминфо, и напечатал совпадающие строки. Обратите внимание, что в вашем тексте вы говорите, что хотите найти кв.нет но на вашем снимке экрана (тьфу; гораздо лучше скопировать и вставить как текст) вы на самом деле напечатали № кв. с завершающей точкой. Кроме того, ваши инструкции, кажется, требуют, чтобы вы искали подходящий нет. (с пробелом). Имейте в виду, что с grep, точка — это подстановочный знак, который будет соответствовать любой персонаж, и если вы ищете текст, содержащий пробел, он должен* помещаться внутри кавычек.Возможно, вы хотели запустить эту команду, которая ищет буквальную строку подходящий нет. без сопоставления подстановочных знаков?

grep -rF 'подходящий. нет.'

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

grep -Fr 'подходящий. нет.' # Живи с этим
grep -Fr --exclude='nano.save' 'подходящий. нет.' # Исключить именованный файл
grep -Fr 'подходящий. нет.' 2>/dev/null # Отбросить *все* сообщения об ошибках

Если у вас есть права root, вы можете выполнять поиск с этими разрешениями, но переход на уровень root должен выполняться с осторожностью; практически нет никаких ограничений, если вы работаете как root:

sudo grep -Fr 'апт. нет.' # Запускаем от имени root

* Если не заключены в кавычки, вам нужно экранировать каждое появление специального символа, например пробела. Я не собираюсь делать это здесь.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.