LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1075|回复: 7

newgrp不认gshadow的密码么

[复制链接]
发表于 2010-10-1 20:21:54 | 显示全部楼层 |阅读模式
建立两个用户aaa和bbb,并建立同名群组:
useradd -U aaa
useradd -U bbb

--------
Problem 1:
查看/etc/passwd发现
aaa:x:1001:1001::/home/aaa:/bin/bash
也就是用户aaa的初始群组是同名群组aaa。
查看/etc/group发现
aaa:x:1001:
也就是虽然群组aaa已经建立,但是并没有加入用户aaa,这个是为什么?useradd的-U选项不是说:
Create a group with the same name as the user, and add the user to this group.
(bbb也是类似的结果)
--------

清空群组bbb的群组密码:
gpasswd -r bbb
查看/etc/group发现
bbb::1002:
查看/etc/gshadow发现
bbb:::

设置群组bbb的群组密码为123456:
gpasswd bbb
然后输入123456
查看/etc/group发现
bbb::1002:
查看/etc/gshadow发现
bbb:[123456的加密字串]::

然后转到用户aaa
su aaa
newgrp bbb
输入123456之后,提示Invalid password

后来发现先用
grpunconv
把密码从/etc/gshadow搞到/etc/group后,再
su aaa
newgrp bbb
输入123456之后,就可以了

可是man newgrp里写着:
If there is an entry for this group in /etc/gshadow, then the list of members and the password of this group will be taken from this file, otherwise, the entry in /etc/group is considered.

难道说newgrp不认/etc/gshadow么,还是哪里配置有问题?
发表于 2010-10-6 23:54:36 | 显示全部楼层
用户aaa的主组是aaa,所以/etc/group里aaa后不需列出用户aaa,像在绕口令。
回复 支持 反对

使用道具 举报

发表于 2010-10-6 23:56:25 | 显示全部楼层
newgrp这个可能是shadow的bug,Debian还是Ubuntu?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-10-7 00:19:29 | 显示全部楼层
呃,是Arch。。。

主组那个,是说如果建立了用户aaa的主组的话,用户aaa默认就在组aaa里不用特别写?那能把用户aaa从它的主组aaa里删掉么?

还有如果没给用户aaa建立主组aaa的话aaa就是一个没有主组的状态?OS怎么知道用户aaa有没有主组呢,也就是说用户和其主组是什么机制关联的,是同名还是uid = gid?
回复 支持 反对

使用道具 举报

发表于 2010-10-7 00:34:20 | 显示全部楼层
有没有初始组,看/etc/passwd。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-10-7 00:39:03 | 显示全部楼层
设置的话/etc/passwd里就是同名组,不设置的话就是users。这个我试过……难道说就是/etc/passwd中有个组不受/etc/group的限制……?
回复 支持 反对

使用道具 举报

发表于 2010-10-7 00:40:01 | 显示全部楼层
什么叫不受限制?
回复 支持 反对

使用道具 举报

发表于 2010-10-7 00:49:11 | 显示全部楼层
你可以自己试试能不能把user aaa从group aaa里删除。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表