面试题答案
一键面试1. 文件和目录权限设置原则
- 仅授予必要权限:避免给予过多不必要的权限,降低安全风险。例如,Elasticsearch配置文件通常不需要执行权限,只需可读权限,以防止恶意代码执行。
- 遵循最小权限原则:不同用户和进程只应拥有完成其任务所需的最小权限。比如,Elasticsearch运行用户不应有对系统关键目录的写权限。
2. 不同权限设置对系统的影响
- 读权限(r):
- 对文件:允许读取文件内容。对于Elasticsearch配置文件,保证运行用户有读权限,才能正常读取配置信息启动服务。若缺失读权限,Elasticsearch可能无法启动或运行异常。
- 对目录:允许列出目录中的文件和子目录。若Elasticsearch数据目录缺失读权限,可能无法读取索引数据,导致服务无法正常提供搜索功能。
- 写权限(w):
- 对文件:允许修改文件内容。如果对Elasticsearch配置文件给予非授权用户写权限,可能导致配置被恶意篡改,影响服务正常运行甚至造成安全漏洞,如暴露敏感信息。
- 对目录:允许在目录中创建、删除和重命名文件及子目录。若数据目录被非授权用户获得写权限,可能导致索引数据被破坏或丢失。
- 执行权限(x):
- 对文件:允许将文件作为程序执行。Elasticsearch的可执行脚本需要执行权限才能启动服务。若缺失执行权限,将无法启动Elasticsearch。
- 对目录:允许进入目录。若Elasticsearch主目录缺失执行权限,进程可能无法进入相关目录读取配置或数据文件。
3. 设置步骤
- 配置文件权限设置:
- 查找配置文件:通常Elasticsearch配置文件位于
config
目录下,如elasticsearch.yml
。 - 设置权限:以Linux系统为例,使用
chmod
命令,如chmod 600 /path/to/elasticsearch.yml
,这样只有文件所有者有读写权限,其他用户无任何权限。若要让同组用户也有读权限,可使用chmod 640 /path/to/elasticsearch.yml
。
- 查找配置文件:通常Elasticsearch配置文件位于
- 数据目录权限设置:
- 查找数据目录:默认数据目录在
data
,可在配置文件中查看或修改。 - 设置权限:
chown -R elasticsearch:elasticsearch /path/to/data
(假设Elasticsearch运行用户为elasticsearch
),将数据目录及其所有子目录和文件的所有者和所属组都设置为elasticsearch
。然后chmod -R 700 /path/to/data
,只有所有者有读、写和执行权限。
- 查找数据目录:默认数据目录在
- 可执行脚本权限设置:
- 查找可执行脚本:启动脚本通常在
bin
目录下,如elasticsearch
脚本。 - 设置权限:
chmod 750 /path/to/bin/elasticsearch
,文件所有者有读、写和执行权限,同组用户有读和执行权限,其他用户无任何权限。同时确保运行用户对脚本所在目录有执行权限,如chmod 750 /path/to/bin
。
- 查找可执行脚本:启动脚本通常在