3

Фон

Я работаю над своим персональным VPS, сконфигурированным в основном для изучения системных администраторов и личных проектов. Я столкнулся с проблемой, когда мой пользователь без полномочий root мог создавать / редактировать файлы только в emacs с помощью команды sudo . Это не проблема с правами доступа к каталогам, так как я могу создавать файлы с помощью touch без sudo.

  • Не могу вспомнить, но emacs мог быть изначально установлен пользователем root.
  • Пользователь был создан и добавлен следующим образом:
    • root@hadron:~# adduser my_user
    • root@hadron:~# addgroup admin
    • root@hadron:~# adduser my_user admin

конкретика

Выполнение такой команды, как emacs newfile.txt , всегда открывало пустой документ, который невозможно сохранить, и в пути к файлу в нижней части терминала отмечалось следующее: File exists: /home/my_user/.emacs.d/

Проверяя этот файл .emacs.d, разрешение было следующим:

  • drwx------ 3 root root 4096 2012-03-26 08:07 .emacs.d

Изменение разрешения файла .emacs.d для разрешения доступа к нему разрешило ситуацию, но это не похоже на правильное решение:

  • chmod 777 ~/.emacs.d
  • drwxrwxrwx 3 root root 4096 2012-03-26 08:07 .emacs.d

Как правильно решить эту проблему?

1 ответ1

1

Не совсем понятно, какой пользователь пытается запустить emacs.

Также непонятно, что за команда

$ adduser my_user admin

делает. Ты имеешь ввиду

$ adduser --group admin my_user

Вот?

Каталог .emacs.d в доме пользователя должен принадлежать самому пользователю. Так что

$ chown -R my_user ~/.emacs.d
$ # Fix the 'broken' permissions
$ chmod go-w ~/.emacs.d

В последней команде вы можете добавить также флаги x и r чтобы удалить разрешения на чтение и выполнение для группы и других.

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