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 权限管理规范。

相关推荐
天才奇男子16 小时前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
学嵌入式的小杨同学16 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
酥暮沐17 小时前
iscsi部署网络存储
linux·网络·存储·iscsi
❀͜͡傀儡师17 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
Dying.Light17 小时前
Linux部署问题
linux·运维·服务器
S190117 小时前
Linux的常用指令
linux·运维·服务器
小义_18 小时前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
梁洪飞19 小时前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm
_运维那些事儿19 小时前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算
Y1rong20 小时前
linux之文件IO
linux