Ubuntu 16.04下将用户目录链接至/var/www的方法咨询
在Ubuntu 16.04中创建指向/var/www的用户目录符号链接
别担心,我来帮你搞定这个问题!其实你不需要同时创建两个实际目录——符号链接本身就是一个指向目标目录的"快捷方式",关键是要搞对命令和权限设置,这也是很多人踩坑的地方。
第一步:清理可能存在的冲突目录
如果你之前在用户目录下已经创建了名为www的实际文件夹,先把它删掉(避免链接创建错误):
rm -rf ~/www
如果这个目录不存在,直接跳过这一步就行。
第二步:创建正确的符号链接
在终端里执行这条命令,就能在你的用户目录下生成指向/var/www的符号链接:
ln -s /var/www ~/www
- 解释一下:
ln -s是创建**软链接(符号链接)**的命令;第一个参数/var/www是你要指向的目标目录,第二个参数~/www是你要在用户目录下生成的链接名称。
执行完后,你可以用ls -l ~/www检查是否成功,输出应该类似这样:
lrwxrwxrwx 1 yourusername yourusername 8 月 1 10:00 ~/www -> /var/www
箭头->就表示这个www是指向/var/www的符号链接。
第三步:解决权限问题(关键!)
很多人创建完链接后还是无法同步文件,核心原因是/var/www默认属于root:www-data用户组,普通用户没有写入权限。你需要做这两步来解决:
- 把你的用户加入
www-data组:
sudo usermod -aG www-data $USER
执行完后必须注销再重新登录,这个权限变更才会生效。
- 给
/var/www目录添加组写入权限:
sudo chmod -R g+w /var/www
这样你的用户就能通过符号链接往/var/www里写入文件了。
测试一下
现在你可以试着往~/www里复制一个文件,比如:
echo "Test file" > ~/www/test.txt
然后查看/var/www/test.txt,应该能看到这个文件,说明同步成功了!
常见错误排查
- 如果执行
ln -s后,~/www里出现了另一个www链接,那是因为你没先删掉原来的~/www实际目录,重新删了再创建链接就行。 - 如果复制文件时提示"权限不足",检查你是否已经注销重登,以及
/var/www的权限是否设置正确。
内容的提问来源于stack exchange,提问作者Geoff L
相关产品推荐
相关产品推荐

