正确配置系统中web和物联网服务的权限

举报
码乐 发表于 2024/05/14 07:41:49 2024/05/14
【摘要】 1 文件权限操作指令的原理关于文件中数据的访问操作代码,主要涉及linux系统 5 个文件: block_dev.c、file_dev.c、char_dev.c、pipe.c 和read_write.c。前 4 个文件可以认为是块设备、字符设备、管道设备和普通文件与文件读写系统调用的接口程序,它们共同实现了 read_write.c 中的read和 write0系统调用函数。通过对被操作文...

1 文件权限操作指令的原理

关于文件中数据的访问操作代码,主要涉及linux系统 5 个文件: block_dev.c、file_dev.c、char_dev.c、pipe.c 和read_write.c。

前 4 个文件可以认为是块设备、字符设备、管道设备和普通文件与文件读写系统调用的接口程序,它们共同实现了 read_write.c 中的read和 write0系统调用函数。

通过对被操作文件属性的判断,这两个系统调用会分别调用这些文件中的相关处理函数进行操作。

要更改文件或目录权限,我们使用 chmod(更改模式)命令,也就是在linux系统/usr/bin中存储的’应用’。

image.png

有两种方法可以使用 chmod — 符号模式和绝对模式。

chmod '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.

其中

u 表示该文件的拥有者,
g 表示与该文件的拥有者属于同一个群体(group)者,
o 表示其他人,
a 表示这三者皆是

您可以使用下表中的运算符添加、删除或指定所需的权限集。

Chmod 运算符:  +
描述: 将指定的权限添加到文件或目录。
 
Chmod 运算符:  -
描述:从文件或目录中删除指定的权限。

Chmod 运算符:  =
描述:设置指定的权限。

下面是一个使用 myfile 的示例。在测试文件上运行 ls -1 显示该文件的权限如下 −

创建myfile

touch myfile

设置默认权限

ls -l myfile
-rw-r--r--  1  root root 0 May 12 10:15 myfile

chmod o+wx myfile
$ls -l myfile
-rw-r--rwx 1 root root 0 May 12 10:15 myfile*
$chmod u+x myfile
$ls -l myfile
-rwxr--rwx 1 root root 0 May 12 10:15 myfile*

删除执行权限

chmod o-x myfile
$ls -l myfile
-rwxr--rw- 1 root root 0 May 12 10:15 myfile*

修改用户组为 rx 读执行

$chmod g=rx myfile
$ls -l myfile
-rwxr-xrw- 1 root root 0 May 12 10:15 myfile*

组合在一起

$chmod o+wx,u-x,g=rx myfile
$ls -l myfile
-rw-r-xrwx  1 ard   users 1024  Nov 2 00:10  myfile

2 设置 Web 应用程序权限:

对于 Web 应用程序,一般情况下,Web 服务器进程(如 Apache、Nginx 等)是以某个特定的用户(例如 www-data)运行的。

因此,为了确保 Web 应用程序正常运行并且安全,通常的做法是将 Web 应用程序文件夹的所有者设置为 Web服务器进程的用户,并且给予适当的读取、写入和执行权限。

比如我们的Web 应用程序文件夹位于 /var/www/html:

将文件夹所有者设置为 Web 服务器用户(例如 www-data)

bash 
sudo chown -R www-data:www-data /var/www/html

授予所有者读取、写入和执行权限

sudo chmod -R u+rwx /var/www/html

授予所属组和其他用户读取和执行权限

    sudo chmod -R go+rx /var/www/html

以上命令将确保 Web 应用程序的文件夹及其内容对 Web 服务器进程可读、可写、可执行,对所属组和其他用户可读可执行。

3 设置物联网应用程序权限:

物联网(IoT)应用程序可能需要更严格的安全设置,特别是考虑到 IoT 设备通常涉及到传感器数据和控制。对于 IoT 应用程序,你可能需要考虑以下几点:

最小权限原则:

只给予程序运行所需的最低权限。

使用专用用户:
为 IoT 应用程序创建一个专用的系统用户,并将应用程序文件夹的所有者设置为该用户。

限制对敏感数据的访问:
确保 IoT 应用程序只能访问其需要的数据,限制对系统其他部分的访问权限。

比如我们的IoT 应用程序文件夹位于 /opt/iot_app:

创建一个名为 iotuser 的系统用户

     bash 
     sudo adduser iotuser

将文件夹所有者设置为 iotuser

     bash 
     sudo chown -R iotuser:iotuser /opt/iot_app

授予所有者读取、写入和执行权限

     bash 
     sudo chmod -R u+rwx /opt/iot_app

授予所属组和其他用户读取和执行权限

     bash 
     sudo chmod -R go+rx /opt/iot_app

以上命令将确保 IoT 应用程序的文件夹及其内容对 iotuser 用户可读、可写、可执行,对所属组和其他用户可读可执行。

通过以上设置,你可以确保 Web 应用程序和 IoT 应用程序在 Linux 系统上拥有适当的权限,既保证了程序的正常运行,又确保了系统的安全性。

4 结论

总而言之,linux 文件权限是一种重要的安全机制,用于保护系统关键文件、提高系统安全性、控制资源访问以及简化文件管理。

通过了解文件权限的工作原理以及如何安全地使用它们,您可以帮助理解降低安全风险并提高系统的整体安全性,通过遵循这些建议,可以帮助确保您的 linux 系统更安全.

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。