普通视图

发现新文章,点击刷新页面。
昨天以前首页

WordPress 文件及权限

2023年1月11日 00:00

曾答应了小熊童鞋发布一篇关于 WP 目录权限的教程,本篇就已 Linux 系统加某塔面板为例,讲解 WordPress 各文件作用,及对应权限和设置方法!

文件列表

基于官方最新 6.1.1 版本安装包,内含文件如下:

名称作用
wp-admin存放后台面板相关文件,因文件比较多,这里不做详细介绍
wp-content存放用户上传文件,如模板插件及媒体文件
wp-includes存放 WP 相关库文件,为模板插件提供运行库
index.php核心索引文件 ,也是博客输出文件,里面的代码很简单,定义一个垂直变量,引用同目录下的 wp-blog-header.php 文件
license.txtGPL许可证文件
readme.html安装导言
wp-activate.php用户激活文件,用户注册之后就会发一封邮件给用户,激活账户
wp-blog-header.php加载环境和模板的
wp-comments-post.php添加评论把它添加到数据库的文件「个别主题提供评论提交入口,可删除该文件减少垃圾评论」
wp-config-sample.php官方给出的链接数据库示例文件,如果 wp-config.php 文件丢失了,通过这个文件进行修改也可以的
wp-cron.php执行定时任务文件,允许判断任务是不是到时间完成
wp-links-opml.php生成一个 opml 格式的链接列表
wp-load.php加载 wp-config.php 文件且设置公共变量,及加载 WP 的程序和类库
wp-login.php注册用户登录页面
wp-mail.php邮件操作页面
wp-settings.php运行前的例行程序,包括代码安装是否正确,使用辅助函数,应用用户插件,执行初始化计时器等等
wp-signup.php定义新用户的账号
wp-trackback.php处理 trackback 的请求「别人在博客外引用博文,如果对方开启这个功能,这个文件就会通知我们,他的博客引用了我们的文章」
xmlrpc.php远程发布功能,这个功能允许用别的工具通过远程来发布文章

权限设置

  1. 最简单的:将目录及文件的权限都设置为 755,所有者 www,应用到子目录。即所有者拥有读写执行权限,所有组即其它用户可以读取执行。

  2. 最安全的:将目录及文件的所有者设置为 www,文件权限设置为 600「即所有者仅拥有读权限」目录权限设置为 700,该种方法可一定意义上防止其它程序篡改网站源码。

Linux 特殊权限总结篇

2020年4月21日 00:00

之前我们分别简单聊了下 SUID/SGID/SBIT,出了其概念和相关命令之外,我们还需要知道如何判断哪些文件开启了特殊权限,今天我们就来总结一下这些特殊权限。

判断权限

首先要说到的是大小写问题,我们看下图片。我们看到两个文件,权限都差不多,一个所有者执行权限位是 S,另一个则为 s,这两个有什么区别:

在没有增加特殊权限时,默认权限为 rwxr-xr-x,加上特殊权限之后,s 替换 x,而之前是否有 x 权限呢?就是通过 s 的大小写确认的。如果是 s 代表其有执行权限,S 则代表没有。我们给 cjk 添加执行权限试验一下,看下结果:

设置权限

接下来我们说下第二个问题,数字问题。我们知道,4 代表 r,2 代表 w,1 代表 x,通过数字可以代表或是修改权限,那特殊权限如何通过数字来代表或修改呢。如图,在修改权限时,我们可以在普通权限的数字前面,再加一个八进制的数字,用于代表特殊权限。这里:4 代表 SUID,2 代表 SGID,1 代表 SBIT:

简单聊 SBIT

2020年4月18日 00:00

Linux 特殊权限中,除了 SUID/SGID 外,还有一个特殊权限,我们称之为 SBIT。那这个 SBIT 是做什么用的?今天我们来讲一下。

SBIT 的效果

效果如下:

实验过程

切换到普通用户 penn,查看一下/tmp 目录的权限,我们可以看到,在其它组里有一个 t 的权限,这个就是代表 SBIT 了。

在/tmp 目录下创建文件 penn,然后查看一下它的权限,发现其它用户对它只有只读权限,为了实验,我们为其添加可写权限。

修改权限之后我们查看一下,现在其它用户对其可以读写,也就是说可以删除这个文件。

我们切换到普通用户 cjk,然后删除/tmp 目录下的 penn,发现没有权限。

实验效果

发现在具有 SBIT 权限的目录下,普通用户只可以删除自己创建的文件,而其它用户就算是具有权限,也是不可以删除的。

SBIT 只可对目录设置,对于文件无效。

设置命令

1
2
chmod o+t /cjk/
chmod o-t /cjk/

注意:上面是添加权限的命令,下面是删除权限的。

简单聊 SGID

2020年4月15日 00:00

之前我们简单说了下 SUID,特殊权限除了 SUID 外,还有两个,今天我们聊一下 SGID。我们通过一个实验,理解一下。

执行效果

首先我们看一下实验的效果:

实验解读

首先我们在根中创建目录 cjk,然后查看一下它的权限,其它用户没有写入权限,所以我们添加一个:

1
2
3
mkdir /cjk
ll / | grep cjk
chmod o+w /cjk

然后在/cjk 目录中创建一个文件 sdf,通过 ls- l 可看到所有者和所有组都是 root:

1
2
touch /cjk/sdf
ll /cjk

切换用户到 penn 普通用户,同样在/cjk 目录中创建一个文件 fda,通过 ll 可看到所有者和所有组都是 penn:

1
2
3
su - penn
touch /cjk/fda
ll /cjk

我们使用 root 用户修改下/cjk 目录的权限,添加上 SGID:

1
2
su - root
chmod g+s /cjk

我们再切换到普通用户,在/cjk 目录中创建文件 lzll,通过 ll 查看所有者是 penn,但所有组是 root:

1
2
3
su - penn
touch /cjk/lzll
ll /cjk

最后我们简单总结一下 SGID 的作用:SGID 是针对目录设置,在给目录添加 SGID 的权限之后,其它用户在此目录中创建的文件,其所有组会被替换成此目录的所有组:

1
2
3
4
chmod g+s cjk
#添加
chmod g-s cjk
#删除

简单聊 SUID

2020年4月12日 00:00

我们在学习 Linux 的过程中,会经常接触到 SUID 的概念,这些概念涉及系统安全,所以今天简单说下 SUID 是什么,以及如何使用!

权限概念

首先我们需要知道,SUID 是什么?SUID 是 Set User ID 的意思。

那它们又有什么作用呢?在 Linux 系统中我们通常使用权限来限制一个文件,例如 r–是只读,rw-是读写等等。一般这些权限我们用来限制普通文件,还有一种文件叫做程序,这种文件在执行时,会调用其它的文件,如果其它文件所有者并未当前执行程序的用户,那怎么办?

举个例子:cjk 用户需要执行程序 sdf,而程序 sdf 需调用所有者为 lzll 的 bdyjy 文件,这时就需要设置 SUID。添加之后,系统在执行程序时,会以需要调用文件所有者的身份,运行程序。

我们可以通过密码修改这个命令来理解 SUID 使用效果。

权限效果

如图,密码修改命令是 passwd,位于系统的/usr/bin/passwd,我们通过 ls -l 命令查看下它的权限设置,有一个 SUID。我们在修改密码时,它会对/etc/shadow 文件进行读写,也就是需要调用/etc/shadow 这个文件,我们同样通过 ls -l 查看下/etc/shadow 的权限,不难发现这个文件属于 root 所有者:

普通用户对此文件没有任何权限,但是可以使用 passwd 改密码,原理就是当你使用 passwd 命令时,因为 SUID 的效果,相当于使用/etc/shadow 的所有者,也就是 root 身份,对/etc/shadow 文件进行修改:

1
2
3
4
chmod u+s cjk
#添加
chmod u-s cjk
#删除
❌
❌