ПРИМЕЧАНИЕ. Этот вопрос изначально является простой типографской ошибкой (nul вместо null) для спрашивающего. В любом случае, детали могут быть полезны для тех, кто имеет ту же ошибку и прибывает сюда после исследования. Помните: проблема не совсем в пользовательских привилегиях.

Я попытался открыть оболочку CygWin Bash через SSH, используя учетную запись пользователя с ограниченными правами (не принадлежащую к группе администраторов), и протестировал:

$ echo "test" > /dev/nul
bash: /dev/nul: Permission denied

Эта проблема не происходит с учетной записью администратора.
Я прочитал в Интернете, что CygWin испытывает трудности при работе с учетной записью ограниченного пользователя, но я не нашел никакого обходного пути для этого.
Кто-нибудь знает, есть ли доступное решение?

РЕДАКТИРОВАТЬ: Благодаря @DanielB, теперь я знаю, что проблема была в простой опечатке: nul вместо null . Итак, вопрос теперь должен быть:

Почему у администратора нет этой проблемы?

1 ответ1

4

Правильное имя устройства - /dev/null . Это то, что вызывает вашу проблему.

Обновить

Ну, а что касается проблемы с админом - это просто разрешение. Хотя я не уверен, что это связано с администратором.

stat /dev показывает следующее:

Access: (0755/drwxr-xr-x)  Uid: ( 1001/   fuzzy)   Gid: (  513/    None)

Где fuzzy имя моей учетной записи. Это означает, что моя учетная запись (и только моя учетная запись) фактически имеет права на запись в /dev .

Использование несуществующей цели перенаправления автоматически создает ее. Результаты приведены ниже:

$ echo bla > /dev/null
$ file /dev/null
/dev/null: character special
$ echo bla > /dev/nul
$ file /dev/nul
/dev/nul: ASCII text

Как видите, это приводит к созданию обычного файла в /dev . Этот файл также на самом деле хранит то, что вставлено в него и, как таковое, занимает место на диске.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .