Не может записать в других пользователей, “у Вас есть выключенное разрешение записи”

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

[root@hostname ~]# write
write: you have write permission turned off.
[root@hostname ~]# mesg y
[root@hostname ~]# mesg
is y
[root@hostname ~]# write
write: you have write permission turned off.

Какие потребности быть позволенным/исправленным, чтобы это работало?

5
задан 1 October 2013 в 19:38
3 ответа

При запуске от имени пользователя root с отключенным mesg (возвращая n ) я получаю ту же ошибку, что и вы. Выполнение команды mesg y позволяет мне выполнить запись. Запустившись как root , я могу писать пользователям, у которых отключено mesg , чего я не могу сделать как не root.

Есть несколько утилит, которые предоставляют запись функциональность. Все они должны иметь возможность писать на терминалы. Однако, поскольку вы работаете с правами root , проблем быть не должно.

0
ответ дан 3 December 2019 в 02:03

Тестирование strace write и strace mesg показывает небольшое различие в том, как они идентифицируют ваш tty.

write сначала выполнит readlink ("/ proc / self / fd / 0", ...) , чтобы найти имя tty и t тогда выполните вызов stat для полученного пути.

mesg с другой стороны вызовет fstat (1, ...) , который пропускает шаг использования readlink и не полагается на файловую систему / proc .

Обратите внимание, что они также смотрят на разные файловые дескрипторы 0 vs 1 . Обычно интерактивная оболочка имеет файловые дескрипторы 0 , 1 и 2 , которые все ссылаются на один и тот же tty. Если вы каким-то образом заставили свою оболочку работать с 0 и 1 , ссылаясь на что-то другое, например, если вы перенаправили один из них, это может объяснить несоответствие между выводом из mesg и пишут .

Если файловые дескрипторы ссылаются на один и тот же tty, другой возможной причиной несоответствия может быть то, что ваше монтирование / proc работает не так, как ожидалось или был заменен inode символьного устройства для вашего tty.

1
ответ дан 3 December 2019 в 02:03

Мне пришлось отредактировать /etc/login.defsи изменить TTYPERM 0600на TTYPERM 0620.

0
ответ дан 23 October 2021 в 19:24

Теги

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