mysql groupadd_Linux下groupadd命令无法添加用户和组的解决

mysql groupadd_Linux下groupadd命令无法添加用户和组的解决今天需要给一个linux服务器安装mysql,在安装mysql的时候,出现错误提示:[root@localhostsoftwaretools]#rpm-ivhMySQL-server-5.5.23-1.rhel5.x86_64.rpmPreparing…###########################################[100%]1…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

今天需要给一个linux服务器安装mysql,在安装mysql的时候,出现错误提示:

[root@localhost softwaretools]# rpm -ivh MySQL-server-5.5.23-1.rhel5.x86_64.rpm

Preparing…                ########################################### [100%]

1:MySQL-server          ########################################### [100%]

chown: “mysql:mysql”: 无效的用户

chown: “mysql:mysql”: 无效的用户

因为mysql在安装的时候需要创建mysql组和mysql用户,看到这样的错误,于是想到了,手工创建组和用户,然后再重装mysql。

结果执行命令:

[root@localhost softwaretools]# groupadd mysql

groupadd:无法打开组文件(groupadd: unable to open group file)

此时就奇怪了,当前用的明明是root用户,为什么没有创建组和用户的权限呢。

接下来,就是一堆百度、谷歌,各种博客论坛。

得出一点点结论:

1,添加用户需要用到passwd和shadow这两个文件

2,添加组需要用到shadow和gshadow这两个文件

此时第一感觉,可能是文件权限的问题,使用 ls -l 命令发现权限正常。

奇怪的很了,于是又需要找度娘和谷哥,最终发现问题,找到了2个命令(lsattr和chattr),是因为隐藏权限在作怪:

对这2个命令的简单做下说明:

对于某些有特殊要求的档案(如服务器日志)还可以追加隐藏权限的设定。这些隐藏权限包括: Append only (a), compressed (c), no dump (d), immutable (i), data journalling (j),secure deletion (s), no tail-merging (t), undeletable (u), no atime updates (A), synchronous directory updates (D), synchronous updates (S), and top of directory hierarchy (T).

lsattr命令是查看隐藏权限设定情况的,chattr是变更隐藏权限的命令。

首先使用使用lsattr查看了一下这几个文件:

[root@localhost ~]# lsattr /etc/passwd

————- /etc/passwd

[root@localhost ~]# lsattr /etc/group

—-i——– /etc/group

[root@localhost ~]# lsattr /etc/shadow

————- /etc/shadow

[root@localhost ~]# lsattr /etc/gshadow

—-i——– /etc/gshadow

可以看到文件被设置的 i 这个隐藏权限,i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。

既然这样只要把i权限去掉就应该好了。

使用命令chattr命令修改文件隐藏权限,执行如下命令:

chattr -i /etc/gshadow

chattr -i /etc/group

然后手工添加了一个用户进行测试,结果可以正常执行了。

最后又将mysql彻底卸载后,重装,一切顺利。0b1331709591d260c1c78e86d0c51c18.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219262.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java访问asmx接口

    java访问asmx接口网上找了很多例子,很多没法用,只有这个成功了记录一下,原链接忘了,大哥不好意思<dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.1</version>&l

    2022年6月11日
    43
  • springboot线程池的配置使用[通俗易懂]

    springboot线程池的配置使用[通俗易懂]我们都知道,java中有ThreadPoolExecutor提供的线程池服务,非常好用。可以有效的解决了一些异步业务,提高系统性能。但是java中配置和使用线程池有点繁琐,而在springboot中,线程池的配置简直就是轻而易举。下面直接上干货。springboot中主要使用配置类来配置线程池@Async注解可以使用配置好的线程池下面我们来详细看一下配置和使用的过程1、配置线程池主要使用…

    2022年6月28日
    49
  • 什么是Promise,我们用它来做什么?[通俗易懂]

    什么是Promise,我们用它来做什么?[通俗易懂]一、什么是Promise?我们用Promise来解决什么问题?Promise是异步编程的一种解决方案:从语法上讲,promise是一个对象,从它可以获取异步操作的消息;从本意上讲,它是承诺,承诺它过一段时间会给你一个结果。promise有三种状态:pending(等待态),fulfiled(成功态),rejected(失败态);状态一旦改变,就不会再变。创造promise实例后,它会立即执行。我…

    2022年6月11日
    35
  • glPushMatrix 与 glPopMatrix[通俗易懂]

    glPushMatrix 与 glPopMatrix[通俗易懂]1.原理讲解 终于明白为什么使用glPushMatrix()和glPopMatrix()的原因了。将本次需要执行的缩放、平移等操作放在glPushMatrix和glPopMatrix之间。glPushMatrix()和glPopMatrix()的配对使用可以消除上一次的变换对本次变换的影响。使本次变换是以世界坐标系的原点为参考点进行。下面对上述结论做进一步的解释:1)OpenGL中

    2025年7月7日
    2
  • 初级SSM框架整合

    初级SSM框架整合本次ssm整合是对于初学者来说的第一次整合,里面还有很多地方可以进行优化,这点以后有空再分享。主要是体现整合的思路和过程。1、准备数据/*创建用户表*/CREATETABLE`user`( idBIGINTPRIMARYKEYAUTO_INCREMENT, usernameVARCHAR(50), passwordVARCHAR(50), emailVARCHAR(…

    2022年5月21日
    38
  • Delphi中QuotedStr介绍及使用

    Delphi中QuotedStr介绍及使用delphi函数给字符串两边加单引号并返回.声明:functionQuotedStr(constS:string):string;用函数QuotedStr把字符串S转换成为用引号括起来的字符串。单引号”‘”将被插入到字符串s的最前和最后。例如:abc->’abc’

    2022年10月18日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号