我对 Linux 非常陌生,刚刚带来了 Raspberry Pi,我决定运行一个简单的 apache 服务器。我找到了一个关于如何安装和设置 apache 服务器的简单教程,这就是我所做的。本教程的部分内容是说要做的
sudo usermod -a -G www-data pi
sudo chown -R -f www-data:www-data /var/www
这应该赋予用户pi
所有权和访问权限/var/www
我去创建一个目录/var/www/dump
,但它不让我说permission denied
。
所以我cd
编辑到/var
目录并ls -l
显示
pi@server:/var $ ls -l
drwxr-xr-x 4 www-data www-data 4096 Nov 7 18:56 www
如果我ls -l
在www
它显示的目录中执行 a
pi@server:/var/www $ ls -l
drwxr-xr-x 2 www-data www-data 4096 Nov 7 13:51 html
因此,根据此,我作为用户应该pi
能够创建目录和文件,但我不能。
重新启动后,groups 命令显示用户 Pi 是 的成员pi adm dialout cdrom sudo audio www-data video plugdev games users input netdev gpio i2c sp
,但如果我尝试nano testfile.php
然后尝试写出我得到的[ Error writing tmpfile.php: Permission denied ]
。
答案1
团体
该命令sudo usermod -a -G www-data pi
仅写入配置文件。登录时,会读取该文件。现有进程不受影响。
加入新组的最简单方法是注销并重新登录(重新启动将使您注销)。
该newgrp
命令是另一个命令,但它只影响其自己的子进程。
模式
权限的另一部分在模式中。你的目录有一个模式drwxr-xr-x
- 第一个字符
d
表示它是一个目录。 - 接下来的 3 个字符用于拥有用户,它有
r
ead、w
rite(和删除)和x
cross(x
文件的 e ecute)。 - 接下来3.该组有
r
ead和x
cross,但没有w
礼 - 最后3.其他,与组相同(不要添加写入)。
您需要w
向目录组添加 rite 权限:
chmod -R g+w /var/www
(这将在 Gnu 上运行chmod
,并且我被告知许多其他人)。