Вопрос или проблема
У меня возникла проблема с пользователями без прав администратора на моем ноутбуке с Ubuntu 24.04. Я добавил обычного пользователя, и этот пользователь не может открыть gnome-terminal. Появляется ошибка: “Произошла ошибка при создании дочернего процесса для этого терминала. Не удалось открыть PTY: отказано в доступе.” У моего администратора, от которого я добавлял других пользователей, всё в порядке.
Права доступа к моему /dev/ptmx:
ls -la /dev/pts/ptmx
crw-rw-rw- 1 root root 5, 2 дек 30 00:27 /dev/pts/ptmx
Я добавил эту строку в /etc/fstab:
devpts /dev/pts devpts gid=5,mode=620,ptmxmode=666 0 0
Обычный пользователь добавлен в группу dialout
. Я прочитал предложения от ChatGPT и эту тему. Ничего не помогает! Пожалуйста, дайте совет.
.
Ответ или решение
Ваша проблема с невозможностью открыть терминал для не-администраторских пользователей в Ubuntu 24.04 связана с ошибкой доступа к PTY (pseudoterminal), что подразумевает проблему с правами доступа и настройками системы. Давайте разберемся, как можно это исправить.
Анализ проблемы
Ошибка “Failed to open PTY: Permission denied” может быть вызвана несколькими факторами, связанными с неправильной конфигурацией прав доступа к устройствам pseudoterminal или неверной настройкой файловой системы. Вы уже сделали важное замечание о том, что у администратора такой проблемы нет, а значит, проблема ограничена правами обычных пользователей. Рассмотрим, что может быть неправильно настроено:
1. Разрешения для /dev/pts
Убедитесь, что каталог /dev/pts
имеет необходимые разрешения для записи и чтения для групп пользователей, которым они необходимы. Каталог должен быть смонтирован с правильными правами.
2. Настройки в /etc/fstab
Вы добавили строку с ptmxmode=666
. Ваша установка выглядит правильной, так как она предоставляет полный доступ (чтение и запись) ко всем пользователям. Однако убедитесь, что изменения действительно применяются. Попробуйте выполнить sudo mount -o remount /dev/pts
и проверьте права доступа снова.
3. Разрешения для /dev/ptmx
Убедитесь, что устройство /dev/ptmx
имеет корректные разрешения. Обычно оно должно иметь разрешения crw-rw-rw-
. Если вы видите отличия, это нужно исправить.
Исправление проблемы
Попробуйте следующие шаги:
Шаг 1: Проверьте права групп пользователей
Обычно пользователи, которым требуется доступ к терминальной среде, добавляются в группу tty
или sudo
. Проверьте, находится ли ваш не-администраторский пользователь в этих группах.
sudo usermod -aG tty, sudo имя_пользователя
Шаг 2: Обновите fstab и перемонтируйте файловую систему
Убедитесь, что строка в вашем /etc/fstab
соответствует следующему формату:
devpts /dev/pts devpts defaults,ptmxmode=0666,newinstance 0 0
Если она отличается, обновите её и выполните команды:
sudo umount /dev/pts
sudo mount /dev/pts
Шаг 3: Проверьте SELinux или AppArmor
Иногда проблемы с безопасностью систем SELinux или AppArmor могут вызвать такие ошибки. Убедитесь, что они не блокируют операции внутри терминала:
Проверьте статус AppArmor:
sudo aa-status
Если профили AppArmor привязываются к приложениям, и это может создавать проблемы, временно отключите его для теста:
sudo systemctl stop apparmor
Заключение
Решение проблемы доступа к PTY для не-администраторских пользователей требует проверки и корректировки прав доступа, а также корректной настройки монтирования устройств. Выполнив предложенные шаги, вы должны восстановить доступ к терминалу для всех пользователей. Если проблема все еще остается, стоит проверить системные логи для получения более детальной информации об ошибках, что может привести к более специфическим решениям.