前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux系列】无法创建用户useradd:无法打开 /etc/passwd

【Linux系列】无法创建用户useradd:无法打开 /etc/passwd

作者头像
沁溪源
发布2021-08-13 11:37:21
7.3K0
发布2021-08-13 11:37:21
举报
文章被收录于专栏:沁溪源

背景

事情起因源自阿里云服务上安装ES(elasticsearch),学习ES的路上可能都会遇到的一个问题,就是无法在root账户下启动ES服务,具体报错信息如下:

代码语言:javascript
复制
uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

解决方案:创建一个新的用户,但是创建过程中并不是很顺利,于是诞生了此篇文章。 参考了网上大概相似的解决方案,但是使用未解决。 例如:https://www.cnblogs.com/Detector/p/7850099.html

  • 权限 i 说明设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。
代码语言:javascript
复制
[root@izbp1hcw0fjg64l58525bqz etc]# lsattr /etc/passwd
-----a-------e-- /etc/passwd
[root@izbp1hcw0fjg64l58525bqz etc]# chattr -a /etc/passwd
[root@izbp1hcw0fjg64l58525bqz etc]# lsattr /etc/passwd
-------------e-- /etc/passwd

但是小编的阿里云服务器中**/etc/passwd**并不是i权限,属于a权限;

究其根源,还是文件权限问题,于是乎小编一顿操作,把a权限也删除了,居然成功了;

代码语言:javascript
复制
[root@izbp1hcw0fjg64l58525bqz etc]# adduser elk
adduser:无法打开 /etc/shadow

## 很明显/etc/shadow也无法打开
[root@izbp1hcw0fjg64l58525bqz etc]# lsattr /etc/shadow
-----a-------e-- /etc/shadow
[root@izbp1hcw0fjg64l58525bqz etc]# chattr -a /etc/shadow
[root@izbp1hcw0fjg64l58525bqz etc]# adduser elk
[root@izbp1hcw0fjg64l58525bqz etc]# passwd elk
更改用户 elk 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@izbp1hcw0fjg64l58525bqz etc]# chown -R elk /opt

细心的小伙伴可能会发现上面创建过程中**/etc/shadow**也无法打开,于是小编按照相同的逻辑处理权限问题,同样成功,最后成功创建ELK用户;

扩展

对于Linux文件权限a和i进行简单的复习:

  • i:不可修改权限 例:chattr u+i filename 则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr -i filename就可以了。查看文件是否设置了i权限用lsattr filename。
  • a:只追加权限, 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。可以使用chattr +a设置追加权限。

另外一种解决方案

对于此种解决方案是小编第一次采用的,但是并未生效; 故推荐优先使用上述方案,如果仍未解决,可以尝试一下这种方案是否能够解决;

  • 方案描述: 命令:cd /etc ls -al(查询所有文件,包括后缀文件) 是否存在**/etc/passwd.lock**的文件;

1.若存在使用root账户删除,原因可能是之前使用到这个文件没有正常关闭。 2.如果不存在passwd.lock文件,排查是否存在pwd.lock(小编的服务器存在这个文件,上面第一种文件不存),然后删除。 命令:rm .pwd.lock

注意.pwd.lock 这个名称可能不一样,可以到etc目录去查看

总结

安装ES踩坑问题,意识到程序员人生就要不停的学习,否则,经验从何而谈,不要怕出问题,编程之路不仅要学知识点,更重要的是解决问题。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 扩展
  • 另外一种解决方案
  • 总结
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档