背景
我正在开发我的个人 VPS,主要用于学习系统管理员和个人项目。遇到了一个问题,我的非 root 用户只能使用sudo
命令在 emacs 中创建/编辑文件。这不是目录权限的问题,因为我可以在没有 sudo 的情况下创建文件touch
。
- 不记得了,但 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
目前尚不完全清楚哪个用户尝试运行 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
标志以删除组和其他人的读取和执行权限。