虽然我们在VPS上搭建网站比网站比较自由,但是空间的安全设置都需要我们自己来做。一旦网站空间或者网页的不安全,可能会通过提权的方式影响其他的网站。当然,具体的安全老左不是太懂。主要是今天上午在遇到一个问题,由于转移出来的网站文件都是777权限,然后搬迁至主机中导致403错误提示,这是需要我们对所有的文件夹设置755,所有的网页文件设置644才可以解决。
很多人会发现,如果手工设置会非常的麻烦,因为每个文件夹下会有文件夹,也有文件。有没有一个命令可以直接设置呢?

SSH命令方法1

find . -exec sh -c "if [[ -d "{}" ]]; then chmod 755 "{}"; else chmod 644 "{}"; fi " \;

SSH命令方法2

find ./ -type d -print|xargs chmod 755;
find ./ -type f -print |xargs chmod 644

推荐方法:

chmod 644 -R ./
find ./ -type d -print|xargs chmod 755;

测试的时候发现设置644的时候有点问题。
所以,推荐方法里面,我先用chmod 全部设置644,
再用find把目录部分设置成755。
注意./是表示在网站代码所在的跟目录设置的哦。

通过以上的任意一个方法,都可以解决设置文件夹755,网页文件644权限。

find /path -type f -exec chmod 644 {} \;  //设置文件权限为644
find /path -type d -exec chmod 755 {} \;  //设置目录权限为755


find . -type d -exec chmod 755 {} \;
find . -not -type d -exec chmod 644 {} \;
find . -type d | xargs chmod 755
find . -not -type d | xargs chmod 644

for example

cd ~/www/src
git clone https://github.com/xxx/xxx.git #下载xxx
mv www/* /home/wwwroot/www.com/ #将代码上传到知道虚拟主机(www.com)网站根目录
find /home/wwwroot/www.com -type f -exec chmod 644 {} \;#为了安全,将里面`文件`权限设置为644
find /home/wwwroot/www.com -type d -exec chmod 755 {} \;#为了安全,将里面`目录`权限设置为755
chown -R www.www /home/wwwroot/www.com/  #修改代码用户和所在组设置为www

网站根目录权限遵循:
文件644 文件夹755 权限用户和用户组www
如出现文件权限问题时,请执行下面3条命令:

chown -R www.www /data/wwwroot/
find /data/wwwroot/ -type d -exec chmod 755 {} \;
find /data/wwwroot/ -type f -exec chmod 644 {} \;

以上参考

修改目录下所有子目录权限为755其他文件权限为644

一条命令设置文件夹755,网页文件644权限

相关chmod 777 到底有什么危险

标签:命令

你的评论