Команда hostnamectl вызывает ошибку создания подключения к шине :Нет такого файла или каталога

Поскольку вы не указали причину, по которой вы хотите сделать это именно так. Я предполагаю, что вы не знаете, что гораздо быстрее (и imho точнее )просто установить нужный режим, чем переключать флаги один за другим.

Объясняется упрощенно:Укажите 3 числовых значения для состояния установки/снятия всех флагов чтения, записи и выполнения. Для владельца , группы и другиходновременно .

Для упрощения я буду использовать 3 цифры. Но вы должны посмотреть и на остальные флаги , когда привыкнете к этому способу.

Чтобы еще больше упростить:Эти 3 значения являются отдельными позиционными значениями, а не трехзначным числом. Первый устанавливает разрешения для владельца , следующий устанавливает разрешения для группы , а третий устанавливает разрешения для всех остальных(других).

Установка флагов:Сейчас. Некоторые люди путаются в определении , что означает каждая цифра , но это действительно просто, когда вы впервые узнаете, как это делается.

Вот значения флага -:

  • 1=выполнить
  • 2=запись
  • 4=чтение

Теперь вы просто выполняете одну позицию за раз и суммируете ()нужные значения флага -. Если вы хотите установить чтение и выполнение :4+1=5. Если вы хотите читать и писать, но не выполнять :4+2=6.

Примеры

| ### | Owner | Group | Others |
| --- |  ---  |  ---  |  ---   |
| 755 |  RWX  |  R-X  |  R-X   |
| 644 |  RW-  |  R--  |  R--   |

Дополнительную информацию и другие примеры можно увидеть здесь :https://linux.die.net/Linux-CLI/file-permissions.html

Итак, если вы хотите, чтобы группа и другие имели только права на чтение, а владелец должен был иметь права на чтение и запись,ты просто делаешьchmod 644 FILENAME

Вот отличный учебник:Общие сведения о правах доступа к файлам в Linux

Последний совет:Помните, что пользователям необходимо разрешение на выполнение для каталогов, чтобы отображать содержимое.

4
24.12.2020, 20:51
1 ответ

Суть проблемы в том, что hostnamectl— это утилита systemd, которая воздействует на systemd -hostnamed.service. В настоящее время WSL не поддерживает systemd.

Кроме того, WSL устанавливает в качестве имени хоста имя компьютера Windows, на котором размещен экземпляр. Хотя вы можете изменить его, изменив имя хоста Windows(Control Panel->System->See the name of this computer-> Change Settings), вы не можете изменить само имя хоста WSL.

Какова ваша конечная цель при смене имени хоста, кроме того, что вы просто следуете учебнику, на который вы ссылаетесь? Возможно, есть лучшее решение (, например. изменение подсказки ).

4
18.03.2021, 22:41

Теги

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