Bug 9362

Summary: Неработающий newgrp
Product: Sisyphus Reporter: Anton Farygin <rider>
Component: shadow-groupsAssignee: Mikhail Efremov <sem>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: blocker    
Priority: P2 CC: ldv, sem
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://bugs.debian.org/162303

Description Anton Farygin 2006-04-04 09:38:11 MSD
newgrp отказывается включать пользователя в группу:
$ id rider
uid=500(rider) gid=500(rider)
группы=500(rider),10(wheel),19(proc),80(cdwriter),81(audio),36(hashman),501(rider_a),502(rider_b)

$ id
uid=500(rider) gid=500(rider)
группы=10(wheel),36(hashman),80(cdwriter),81(audio),500(rider),501(rider_a),502(rider_b)

[rider@rider ~]$ newgrp - proc
Password: 
Sorry.
Comment 1 Dmitry V. Levin 2006-04-04 13:50:50 MSD
У меня переключает, не спрашивая пароль.

Проверь также:
# control newgrp list
public wheelonly restricted
Comment 2 Anton Farygin 2006-04-04 14:27:37 MSD
[root@rider rules.d]# control newgrp list
public wheelonly restricted
[root@rider rules.d]# control newgrp     
wheelonly
$ id rider
uid=500(rider) gid=500(rider)
группы=500(rider),10(wheel),19(proc),80(cdwriter),81(audio),36(hashman),501(rider_a),502(rider_b)
[rider@rider udev-088]$ newgrp - proc
Password: 
Sorry.
Comment 3 Anton Farygin 2006-04-04 14:29:53 MSD
Вот ещё что получил:
$ /usr/bin/newgrp 
Segmentation fault

$ uname -a
Linux rider.malta.altlinux.ru 2.6.16-std26-up-alt1 #1 Mon Apr 3 16:58:04 MSD
2006 x86_64 GNU/Linux
Comment 4 Dmitry V. Levin 2006-04-04 14:35:06 MSD
segfault не воспроизводится.
пароль спрашивает только на x86_64 :)
Comment 5 Anton Farygin 2006-04-04 14:44:44 MSD
segfault вылезает если запускать, указывая полный путь:
/usr/bin/newgrp

Интересно, чем ему x86_64 не понравился ? ;)
Comment 6 Dmitry V. Levin 2006-09-17 04:12:59 MSD
Оказался банальный NULL dereference.
Comment 7 Dmitry V. Levin 2006-09-17 04:43:27 MSD
Fixed in 4.0.4.1-alt6.
Comment 8 Anton Farygin 2007-04-07 22:41:47 MSD
Опять вылезло ;(

i586

$rpm -q shadow-utils
shadow-utils-4.0.4.1-alt6

$ newgrp 
Password: 
Sorry.
$ id rider
uid=500(rider) gid=500(rider)
группы=500(rider),10(wheel),19(proc),22(cdrom),71(floppy),80(cdwriter),81(audio),83(radio),108(xgrp),36(camera),37(scanner),74(hashman),501(rider_a),502(rider_b)
$ id
uid=500(rider) gid=500(rider)
группы=10(wheel),19(proc),22(cdrom),36(camera),37(scanner),71(floppy),80(cdwriter),81(audio),83(radio),108(xgrp),500(rider)

# control newgrp
wheelonly
Comment 9 Anton Farygin 2007-04-07 22:42:41 MSD
$ rpm -qf /usr/bin/newgrp
shadow-groups-4.0.4.1-alt6
Comment 10 Anton Farygin 2007-04-07 22:47:04 MSD
Если указывать группу - переключает. Без указания - нет.
Согласно man newgrp - должен переключить на дефолтные группы
Comment 11 Dmitry V. Levin 2007-04-15 01:38:37 MSD
Тот факт, что newgrp не пускает тебя в дефолтную группу,
есть следствие какой-то другой ошибки:

# grep ^rider: /etc/group
rider:x:567:
# grep ^rider: /etc/gshadow
rider:!::

Может быть, это вина useradd, пока не знаю.
Но это совсем другая ошибка.