Segarkan kembali keanggotaan grup tambahan tanpa masuk lagi?

12

Dari pemahaman saya, sesi Linux cache keanggotaan grup saat login. Kemudian jika keanggotaan grup baru ditambahkan (misalnya dengan adduser someuser somegroup), pengguna harus keluar dan masuk lagi untuk dapat memanfaatkan keanggotaan baru.

Pertanyaan saya adalah: apakah ada setiap cara untuk menyegarkan keanggotaan kelompok dalam proses, tanpa logging lagi, keluar proses saat ini, atau memulai proses baru?

Avdi
sumber

Jawaban:

9

Anda dapat memulai login baru dari sesi Anda

$ su - your_login

Itu tidak memengaruhi proses berlari Anda. Jika Anda menggunakan Xserver, Anda dapat memulai xterm dan mengetik perintah ini (hanya memengaruhi sesi terminal ini). Satu-satunya cara untuk membuatnya tetap adalah dengan menyelesaikan sesi Anda dan mulai lagi

sumar
sumber
Jika Anda hanya mengizinkan otentikasi kunci publik ke server Anda, Anda perlu mengimpor kunci rahasia?
Cyril Duchon-Doris
5

Saya kira tidak. Tetapi Anda dapat menggunakan newgrpperintah untuk menelurkan shell baru dengan grup baru. Ini tidak permanen.

newgrp superawesomegroupname

Anda harus log off pengguna lalu-lagi-lagi.

Joseph Kern
sumber
1
+1 berfungsi tanpa memerlukan kata sandi / otentikasi tidak sepertisu
Cyril Duchon-Doris
2

Yang lain menyebutkan " su - $USER" dan " newgrp", dan saya pikir saya harus menyebutkan bahwa Anda juga harus melihat " sg".

Teddy
sumber
1

Anda dapat menggunakan gpasswduntuk perubahan langsung:

gpasswd -a someuser somegroup

Tidak perlu membuat shell baru atau login kembali. Setelah itu verifikasi keanggotaan grup menggunakan getent:

getent group somegroup
Tombart
sumber
Anda membuat grup, lalu mencari grup itu. Ini tidak ada hubungannya dengan pertanyaan yang dibahas - perubahan tidak efektif dalam sesi Anda saat ini.
Str.
1

Anda dapat melakukan:

exec su -l $USER

Itu secara implisit menyegarkan daftar grup tanpa harus keluar dari terminal.

Arjen P. De Vries
sumber
0

Bagaimana dengan ini (walaupun hanya memenuhi persyaratan bahwa Anda tidak perlu login kembali)

exec /bin/bash -l

Bendera -l akan mengasumsikan shell login baru dan exec akan mengganti shell saat ini dengan yang baru. BTW, jangan salah ketik nama shell :-)

Satu masalah dengan menggunakan newgrp dan su seperti yang disarankan sebelumnya adalah bahwa sub-shell baru akan dibuat. Ya, Anda bisa mendahului mereka dengan perintah exec juga.

mdpc
sumber