RHEL 8 上的权限被拒绝

RHEL 8 上的权限被拒绝

我来自 Windows 背景,几乎不知道如何操作 Linux(或 AWS)。因此,我开发了一个应用程序并将其部署在 AWS 上。我将总结我迄今为止所做的事情以及我所取得的成就。

  • 我创建了一个 ec2 实例,安装了开发和生产所需的所有工具和环境。
  • 安装并配置httpd守护进程,玛丽亚数据库phpmyadmin控制板。
  • 部署我的应用程序并使用命令更改所有权chown root:apache ./path/to/directory/*
  • 使用授予权限chmod -R 775 ./path/to/directory/*
  • semanage允许使用的应用程序的写入权限semanage fcontext -a -t httpd_sys_rw_content_t "/path/to/directory(/.*)?"
  • 最后执行了这个命令restorecon -R /path/to/directory(不完全确定它的作用,找到了权限指南这里

完成所有这些后,我可以在 Web 上访问我的应用程序,并且工作正常。但是,当我尝试通过 FTP 传输文件时(使用档案)它给了我一个错误说:

错误:/var/www/Foo/bar.php:打开以进行写入:权限被拒绝
错误:文件传输失败

当我允许其他用户使用时,chmod -R 777 ./path/to/directory/*我可以轻松上传文件。但我读到这里777并不总是一个好主意。

我的问题是,我如何使用现有权限通过 FTP 传输我的文件,如果我必须将我的权限更改为777,如果我是该实例的唯一用户,这样做可以吗?

答案1

据我所知,chmod -R 777这不是一个好主意,因为 777。每个人都可以读取、写入和执行您的文件和目录,因为这允许任何人都向您的服务器添加恶意代码。

chmod -R 755常用于网络服务器。所有者拥有读取、写入和执行的所有权限。其他人只能读取和执行,但不能更改您的文件。

例子:

chmod -R 755 ./path/to/directory/*
chown -R $USER:$USER ./path/to/directory/*

相关内容