it-swarm-tr.com

Yeni eklenen kullanıcı gruplarındaki değişiklikleri yeniden başlatmaya gerek kalmadan nasıl uygulanır?

takpar kullanıcısıyla giriş yaptığımı varsayalım:

[email protected]:/$

Kök olarak, takpar grubunun bir üyesi olarak webdev ekledim:

# usermod -a -G webdev takpar

Ancak, grup için okuma iznine sahip bir webdev dizinine giremediğim için uygulanmadığı anlaşılıyor:

400169 drwxr-x--- 3 webdev webdev 4.0K 2011-08-15 22:34 public_html

[email protected]:/home/webdev/$ cd public_html/
bash: cd: public_html/: Permission denied

Ancak yeniden başlatmanın ardından beklediğim gibi erişebiliyorum. Bu tür bir grup değişikliği benim rutinimde olduğu için, yeniden başlatmaya gerek kalmadan değişiklikleri uygulamanın herhangi bir yolu var mı?

Yanıt Geçerli oturumun yeni grubu tanımasının bir yolu yok gibi görünüyor, örneğin dosya yöneticisi yeni değişikliklerle çalışmaz. Ancak yeniden giriş yapmak işi yapar. su komutu, geçerli oturumdaki geçici komutlar için de uygundur.

41
Alexar

Yerel çözüm: tekrar giriş yapmak için su yourself Kullanın. Yeni oturumda grubun üyesi olarak kabul edileceksiniz.


newgrp ve sg için kılavuz sayfalar da mevcut grup kimliğinizi değiştirmek (ve yeni bir gruba giriş yapmak) için ilgi çekici olabilir:

  • Mevcut Shell kullanımınızda webdev 'ın grup kimliğini (ve ayrıcalıklarını) kullanmak için:

     newgrp webdev
    
  • Bazı grup kimliğiyle bir komut başlatmak (ve Shell'inizde geçerli ayrıcalıkları korumak) için şunu kullanın:

     sg webdev -c "command"
    

    (sgsu gibidir ancak gruplar içindir ve sistemin verilerinde grubun bir üyesi olarak listelenirseniz grup şifresi olmadan çalışmalıdır)

59
Stéphane Gimenez

gpasswd kullanırsanız, yeniden başlatma sistemi gereğinden fazla yüklüdür, hatta çıkış yapmanız ve oturum açmanız gerekmez.

takpar grubunu webdev grubuna aşağıdakileri kullanarak ekleyebilirsiniz:

$ gpasswd -a takpar webdev

getent group {name} Komutunu kullanarak grup üyeliğini kontrol edebilirsiniz:

$ getent group webdev
webdev:x:1008:webdev,takpar

cat /etc/group | grep webdev ile aynı olmalıdır. Tamlık için id Shell oturumundan takpar çıktı:

$ id takpar
uid=1007(takpar) gid=1007(takpar) groups=1007(takpar),1008(webdev)
3
Tombart
id webdev

burada yanlış gibi görünüyor - id değil, kendi takpar, webdev hakkında bilgi edinmek istiyorsunuz.

id ve id takpar Çıktılarını karşılaştırırsanız, ikincisinin değişikliği henüz göstermediğini, ikincisinin ise göstermediğini fark edeceksiniz. Neden? Çünkü id geçerli işlemin gruplarını gösterir. Oturumu kapatıp tekrar açarsanız veya yalnızca yeni bir terminal penceresi açarsanız, değişikliği yeniden başlatmadan zaten görmelisiniz.

1
glglgl