Linux chmod 777 /var/run 和触摸文件仍然被拒绝

Linux chmod 777 /var/run and touch file still permission denied

在带有 Ubuntu20.04LTS 的 wsl2 中,我在 /var/run 中将文件权限设置为 777(我知道这不是一个好主意)。然后我创建了一个文件并收到 Permission dennied 消息。

xxx@xxxx:~$ touch /var/run/test.c
touch: cannot touch '/var/run/test.c': Permission denied

检查 /var/var/run 文件权限:

xxx@xxx:/$ ls -l |grep var
drwxr-xr-x  13 root root    4096 Apr 23  2020 var
xxx@xxx:/$ ls -l /var/run
lrwxrwxrwx 1 root root 4 Apr 23  2020 /var/run -> /run

selinux和apparmor我都查过了。

xxx@xxx:/$ getenforce
Disabled
xxx@xxx:/$ apparmor_status
apparmor module is not loaded.

为什么我不能用普通用户创建文件?如何解决? 抱歉我的英语不好。

您不能以普通用户身份在系统目录中创建文件 更好的选择是在您的主目录中创建文件

否则你只想在那里创建文件 打开终端

xxx@xxxx:~$ sudo su

[sudo] 用户密码:

xxx@xxxx:~$ touch /var/run/test.c

/var/run 只是一个符号链接。真正的原因是 /run 没有可写权限。谢谢。