某日,要在新的机器上安装squid。我有个习惯,安装之前都会创建运行该服务的用户和组,于是输入下面的命令

  1. # groupadd mysql 
  2. groupadd: unable to open group file 

结果杯具了,起初还以为是不小心命令输错。便再试着操作了几次,还是同样的错误。这是怎么回事,是不是因为权限引起的,不管三七二十一,先看一下

  1. ls -l /etc/group 
  2. -rw-r--r-- 1 root root 612 Apr  9 03:55 /etc/group 

权限对的呀,啥个回事,google了一下,发现了两个可用的命令lsattr,chattr。

  1. lsattr /etc/group 
  2. ----i--A----- /etc/group 

PS:

  1. lsattr 是查看隐藏权限设定情况的 
  2. chattr 变更隐藏权限的命令 

看到这两个文件都被设置成i这个隐藏权限

  1. i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。 

把i权限位去掉试下,

  1. #chattr -i /etc/group 

再来一次

  1. #groupadd squid 
  2. groupadd: unable to open shadow group file 

还是不行,按照提示,看看shadow 文件的权限位

  1. #lsattr /etc/gshadow 
  2. ----i--A----- /etc/gshadow 

去掉该文件的i权限位

  1. chattr -i /etc/gshadow 

试一下

  1. #groupadd squid 

大功告成。