Почему не может базироваться на одной nfs изменения машины смонтированное содержание от другой машины?

Попробуйте это:

bashman () { man bash | less -p "^       $1 "; }

Вам, вероятно, придется поразить n пару раз для получения до фактической команды вместо абзаца, который, оказывается, имеет название команды как первое слово.

Объяснение: это передает весь вывод по каналу man bash, т.е. вся страница справочника удара (который является огромным документом и имеет подразделы, объясняющие каждый удар встроенная команда) к программе чтения less. less' -p флаг обозначает "шаблон"; то, что это делает, автоматически прокрутить к первой точке во входном тексте, который соответствует шаблону. Шаблон здесь является regex, который соответствует "Запуску строки (^), сопровождаемый определенным количеством пробелов, сопровождаемых..." – и здесь, удар вставляет первый аргумент, предоставленный bashman функция, потому что удар видит специальное предложение $1 маркер (что означает "первый аргумент") в строке, разграниченной с двойными кавычками (одинарные кавычки сказали бы удару о литеральном значении символов $1). Так, если Вы работаете bashman cd, Вы будете эффективно искать любую строку в странице справочника удара с запусками с набором пробелов, затем строка "CD". Поскольку могли бы быть другие точки во всей странице справочника удара, которые также соответствуют этому шаблону помимо фактического заголовка раздела, который объясняет, например, "CD", эта функция не может на самом деле взять Вас к корректной части страницы справочника удара.

14
26.08.2018, 00:30
2 ответа

NFS был разработан с идеей, что пользователь и идентификаторы группы будут тем же на всех машинах по сети. Для обычных пользователей, который работает хорошо. Но UID корня всегда 0, и просто потому что у Вас есть корень на одном поле, это не означает, что у Вас должен быть корневой доступ к каждой машине в сети.

Поэтому NFS рассматривает корень особенно. По умолчанию корень отображается на nobody пользователь, который обычно не имеет никакого доступа для записи. -maproot опция позволяет Вам изменяться, как корень обрабатывается. BSD's -maproot=root соответствует Linux no_root_squash опция.

18
27.01.2020, 19:50
  • 1
    Да, действительно. Это решило мою проблему. Страница справочника, которую я читал, была немного загадочной (или мое понимание было) относительно того, что точно сделал maproot.Спасибо! –  gabe. 22.03.2011, 02:47
  • 2
    Другой новичок здесь. Я задавался вопросом, был ли Вы, которых парни могли бы знать способ сказать, если диск NFS настроен для использования -maproot опция, не имея доступа к Серверу NFS. –  John 29.07.2011, 23:31
  • 3
    @John, это достаточно отличается, что необходимо задать новый вопрос вместо того, чтобы добавить комментарий. –  cjm 30.07.2011, 13:11

Это - общее поведение с традиционными реализациями NFS. Отображения пользователя NFS выполняются независимо от контекста, таким образом, все доступы клиентским корнем должны быть отображены на конкретном пользователе (обычно nobody по умолчанию). Следовательно это странное поведение, где клиентский корень не может получить доступ к Вашим файлам непосредственно, но может su gabe получить доступ к ним.

(“Недавние” версии NFS, т.е. NFSv4 и возможно NFSv3, позволяют более нормальное поведение, если поддерживается с обеих сторон, но я не знаю детали.)

5
27.01.2020, 19:50

Теги

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