Linux'ta bir grupla olan ilişkimi geçici olarak nasıl kaldırabilirim?


3

Bir havuzdaki linux grup izinlerini test etmem gerekiyor. Bir kabukta, grup ilişkilerinden birini geçici olarak nasıl kaldırabilirim?

Örneğin,
eğer gruplarım şu şekilde tanımlanırsa:

 % groups
 foo bar baz

Sadece foo barolmadan geri dönmesini nasıl sağlayabilirim baz?


Bir yorumda, kök izniniz olmadığını söylemiştiniz, ancak bir şeyi uygulamadaki ipuçlarını görmek için gpasswd, newgrp ve muhtemelen / etc / sudoers'a bakmak isteyenler için yararlı olabilir. Şu anda kullanıcıların kendilerini zaten bulundukları gruplardan çıkarmaları için yetkilendirmeye çalışıyorum, ancak bunun tersini yapmaya daha fazla çalışıyorum (geçici olarak kendimi gruplara ekliyorum, bu yüzden daha hassas olabilmek için hassas bilgilere erişilemiyor).
StarCrashr

Yanıtlar:


3

Bu mümkün.

Bu kodu kontrol edin (geçerli C89, heh) 25 dakika içinde yazdım. Kullanım örneği:

whitequark@forth:~/skipgroup$ ls
skipgroup.c
whitequark@forth:~/skipgroup$ gcc skipgroup.c -o skipgroup
whitequark@forth:~/skipgroup$ sudo chown root:root skipgroup
whitequark@forth:~/skipgroup$ sudo chmod u+s skipgroup
whitequark@forth:~/skipgroup$ groups
whitequark adm dialout cdrom plugdev lpadmin admin sambashare
whitequark@forth:~/skipgroup$ ./skipgroup 
Usage: ./skipgroup <group to remove>
Must be SUID. Launches shell.
whitequark@forth:~/skipgroup$ ./skipgroup cdrom
$ id
uid=1000(whitequark) gid=1000(whitequark)
groups=4(adm),20(dialout),46(plugdev),104(lpadmin),114(admin),118(sambashare),1000(whitequark)

UYARI !

Kimliğin çıktısında gördüğünüz gibi ayrıcalıkları düşürürken, TEHLİKELİ olabilir. Dixi.


vay. Kök izinleriniz olsaydı, kesinlikle denerdim.
Ross Rogers,

Grup listenizi kök ayrıcalıkları olmadan değiştirmenin gerçekten bir yolu olmadığını düşünüyorum.
Whitequark

2

Bunun mümkün olmadığını düşünüyorum, çünkü dosyalar (ve POSIX ACL'leri) bazı gruplar için çıkarma hakları belirleyebilir. İnsanların bir gruptan kaçmalarına izin vermek güvenlik açığı olacaktır.

Tabiki root erişiminiz varsa, kendinizi gruptan çıkarabilir ve

sudo su - $USER
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.