管理员
|
阅读:3103回复:0
解决linux下无法添加用户和组的问题(groupadd命令不可用)
楼主#
更多
发布于:2012-12-24 17:12
 | |  |  | 解决linux下无法添加用户和组的问题(groupadd命令不可用) 今天需要给一个linux服务器安装mysql,在安装mysql的时候,出现错误提示: [root@localhost softwaretools]# rpm -ivhMySQL-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@localhostsoftwaretools]# groupadd mysql groupadd:无法打开组文件(groupadd: unable to opengroupfile) 此时就奇怪了,当前用的明明是root用户,为什么没有创建组和用户的权限呢。 接下来,就是一堆百度、谷歌,各种博客论坛。 得出一点点结论: 1,添加用户需要用到passwd和shadow这两个文件 2,添加组需要用到shadow和gshadow这两个文件 此时第一感觉,可能是文件权限的问题,使用ls -l命令发现权限正常。 奇怪的很了,于是又需要找度娘和谷哥,最终发现问题,找到了2个命令(lsattr和chattr),是因为隐藏权限在作怪: 对这2个命令的简单做下说明: [html] 对于某些有特殊要求的档案(如服务器日志)还可以追加隐藏权限的设定。这些隐藏权限包括: Append only (a), compressed(c), no dump (d), immutable (i), data journalling (j),secure deletion (s), notail-merging (t), undeletable (u), no atime updates (A), synchronous directoryupdates (D), synchronous updates (S), and top of directory hierarchy (T). lsattr命令是查看隐藏权限设定情况的,chattr是变更隐藏权限的命令。 首先使用使用lsattr查看了一下这几个文件: [java] [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彻底卸载后,重装,一切顺利。
| |  | |  |
|