linux系统中如何在root用户中将某个文件夹目录的权限赋值给其它用户(主要说的是 方法 1)

✅ 方法 1:使用 root 用户创建目录(推荐)

最安全、最标准的做法是:用 root 用户创建目录,然后赋权给 elasticsearch 用户

复制代码
# 切换到 root 用户(或直接登录 root)
sudo su -

# 在 /opt 下创建 kibana 目录
mkdir /opt/kibana

# 将目录所有权交给 elasticsearch 用户和组
chown elasticsearch:elasticsearch /opt/kibana

# 设置权限(可选)
chmod 755 /opt/kibana

# 退出 root
exit

然后你就可以用 elasticsearch 用户操作了:

复制代码
su - elasticsearch
cd /opt/kibana
# 此时可以自由解压、配置 Kibana

✅ 方法 2:临时给 elasticsearch 用户添加 sudo 权限(不推荐用于生产)

如果你确实需要elasticsearch 用户使用 sudo(例如用于自动化脚本),可以将其加入 sudoers

步骤:
复制代码
# 用 root 编辑 sudoers 文件(必须用 visudo)
sudo visudo

# 添加以下行(推荐使用 wheel 组)
elasticsearch ALL=(ALL) NOPASSWD: ALL

# 或者将用户加入 wheel 组(更标准)
usermod -aG wheel elasticsearch

⚠️ 注意:生产环境不建议给服务账户(如 elasticsearchsudo 权限,有安全风险


✅ 方法 3:不要把 Kibana 装在 /opt(替代方案)

你可以选择在 elasticsearch 用户有权限的目录下安装 Kibana,例如:

复制代码
su - elasticsearch
cd ~
mkdir kibana
cd kibana
# 在这里解压 kibana-*.tar.gz

即:把 Kibana 安装在 /home/elasticsearch/kibana,避免权限问题。

但通常生产环境还是推荐统一放在 /opt


🛠️ 最佳实践建议

建议 说明
服务目录归 root 创建,属主给服务用户 如:/opt/kibana 由 root 创建,chown elasticsearch:elasticsearch
服务用户不要给 sudo 权限 避免权限过大,违反最小权限原则
使用 systemd 管理服务 启动时自动以正确用户运行,无需手动 su
保持 /opt 目录整洁 所有中间件统一管理

✅ 验证修复

修复后,你应该可以:

复制代码
# 切换到 elasticsearch 用户
su - elasticsearch

# 直接创建文件(无需 sudo)
cd /opt/kibana
echo "test" > test.txt

不会报权限错误。


📌 总结

问题 原因 解决方案
elasticsearch is not in the sudoers file elasticsearch 用户不能使用 sudo root 创建目录并赋权
无法在 /opt 创建文件 /opt 默认只有 root 可写 root 创建 + chownelasticsearch
服务用户是否该有 sudo? ❌ 不推荐 遵循最小权限原则

推荐操作流程:

复制代码
# 1. 用 root 操作
sudo su -
mkdir /opt/kibana
chown elasticsearch:elasticsearch /opt/kibana
exit

# 2. 切换回 elasticsearch 用户
su - elasticsearch
cd /opt/kibana
# 现在可以自由操作了

这样既安全又符合 Linux 权限管理规范。

相关推荐
!沧海@一粟!4 小时前
麒麟Zabbix Agent安装配置全攻略
linux·服务器·zabbix
似水এ᭄往昔8 小时前
【Linux】自动化构建-make/Makefile
linux·运维·服务器·ubuntu
顶点多余8 小时前
Linux“信号“从硬件到软件详解
linux·运维·服务器
瀚高PG实验室9 小时前
rpm包安装报错:cannot open Packages index using db5 - Cannot allocate memory (12)
linux·运维·服务器·瀚高数据库
AI+程序员在路上10 小时前
嵌入式软件技术大全
linux·开发语言·arm开发·单片机
Snasph10 小时前
在Ubuntu上进行端口转发
linux·运维·ubuntu
SeanDe11 小时前
Linux grep 命令用法详解
linux·服务器·网络
W.W.H.11 小时前
Linux共享文件夹不显示,每次都要重新加载问题解决
linux·运维·服务器
2401_8357925411 小时前
Linux复习笔记
linux·服务器·笔记
s090713611 小时前
ZYNQ无SD卡纯NAND Flash启动Linux全攻略
linux·fpga开发·zynq·nand flash启动