Apakah reboot diperlukan untuk menyegarkan kembali izin setelah menambahkan pengguna ke grup baru?

26

Di server ubuntu, saya perhatikan lebih dari sekali sekarang setelah menambahkan pengguna ke grup yang pengguna tidak memiliki izin grup hingga saya reboot sistem. Sebagai contoh:

Pengguna 'hudson' memerlukan izin untuk membaca direktori 'root: shadow / etc / shadow' Jadi saya menambahkan hudson ke grup shadow. hudson masih belum bisa membaca. Jadi, saya 'sudo shutdown -h -r sekarang' dan ketika sistem muncul lagi pengguna hudson dapat membaca.

Apakah reboot diperlukan atau apakah ada cara yang lebih baik untuk mendapatkan izin diterapkan setelah menambahkan pengguna ke grup?

Michael Prescott
sumber
untuk referensi di masa mendatang, saya telah menambahkan solusi aktual di bawah ini. Saya kagum ini masalah. Semoga itu bisa membantu.
TryTryAgain

Jawaban:

25

Saya sedang mencari solusi, menemukan posting ini, dan kemudian menemukan satu!

Saya pikir saya benar-benar menawarkan solusi sehingga orang lain bisa mendapat manfaat. Masuk dan keluar begitu tahun 1995.

Diambil dari:

https://arkaitzj.wordpress.com/2010/03/08/linux-add-user-to-a-group-without-logout/

Jadi, jika Anda perlu mendapatkan izin untuk cdromgrup, Anda baru saja menambahkan pengguna Anda ke:

newgrp cdrom 

sebagai contoh

Jadi langkah-langkahnya adalah:

#adduser my_user cdrom

lalu

$newgrp cdrom

Saya telah mengkonfirmasi bahwa itu berfungsi.

Pemeriksaan sederhana $groupsdari CLI menunjukkan pengguna berada di grup. Dan eksekusi cepat dengan hak istimewa yang diperlukan dari grup itu berfungsi.

Tidak perlu mematikan windows Anda dan login dan logout! Semoga itu bisa membantu orang lain!

Informasi Tambahan (berdasarkan komentar bermanfaat jytou): "Solusi [ini] hanya akan berfungsi untuk shell yang dibuka saat ini. Jika Anda memiliki shell yang terbuka, Anda harus menggunakan perintah yang sama untuk memperhitungkan perubahan."

TryTryAgain
sumber
1
Itu hebat, itu benar-benar berfungsi !!! : D
dadexix86
3
Perhatikan bahwa solusi TryTryAgain hanya akan berfungsi untuk shell yang dibuka saat ini. Jika Anda memiliki shell lain yang terbuka, Anda harus menggunakan perintah yang sama untuk memperhitungkan perubahan tersebut.
jytou
Lagi pula untuk melakukan itu untuk menjalankan sesssion X?
artfulrobot
@artfulrobot maaf, saya tidak yakin apa yang Anda maksud. Anda mungkin ingin membuka pertanyaan baru dan merujuk postingan ini serta solusi yang terbaik untuk membantu.
TryTryAgain
19

Saat menambahkan pengguna ke grup baru, pengguna harus keluar dan masuk kembali agar dapat mempengaruhi. Walaupun reboot akan mencapai itu, seharusnya tidak diperlukan.

Scott Pack
sumber
Bagaimana cara keluar pengguna yang dibuat oleh aptitude saat menginstal paket?
Michael Prescott
Paket apa yang menciptakan hudsonpengguna?
womble
Saat Justin menjawab, cobalah berhenti dan memulai layanan.
Scott Pack
Inilah yang saya lakukan. Cukup keluar dan masuk kembali.
Trent Scott
Anda sebenarnya tidak perlu keluar dan masuk, untungnya. Saya menawarkan solusi yang berfungsi di bawah ini. Diuji, dan SELAMAT!
TryTryAgain
8

Menambahkan pengguna ke grup tidak mempengaruhi pengguna yang saat ini login.

Dalam kasus daemon, Anda perlu me-restart itu untuk diterapkan grup baru.

Selanjutnya, me-restart daemon menggunakan opsi di daemon itu sendiri tidak akan berfungsi karena itu akan mewarisi lingkungan saat ini.

Cara termudah untuk membuatnya bekerja adalah dengan sepenuhnya menghentikan daemon dan mulai lagi, seperti pada ..

/etc/init.d/foo stop ; /etc/init.d/foo start
Justin
sumber
4

yang jauh lebih mudah, Anda dapat memeriksa tingkat akses Anda saat ini dengan mengetik:

id

untuk memuat ulang grup Anda, Anda hanya perlu:

su - $USER

setelah itu periksa lagi tingkat akses:

id

dan Anda akan melihat grup baru sekarang aktif.

wikrie
sumber
1

Ada mode kegagalan yang berbeda yang juga harus diatasi di sini.

Jika admin diperbarui /etc/grouptetapi gagal memperbarui /etc/gshadow(pada sistem yang memiliki pengaturan ini), keluar dan masuk tidak akan benar-benar menetapkan Anda ke grup baru.

Yang membingungkan, groupsakan menunjukkan kepada Anda situasi nyata saat ini, di mana idakan mencetak hasil yang tidak benar yang menunjukkan bahwa Anda adalah anggota grup yang benar.

tripleee@vbvntv$ groups
tripleee

tripleee@vbvntv$ id
uid=1234(tripleee) gid=1234(tripleee) groups=1234(tripleee),4(adm)

tripleee@vbvntv$ ls -l /var/log/mail.log
-rw-r----- 1 root adm 15728 May 26 14:26 /var/log/mail.log

tripleee@vbvntv$ tail /var/log/mail.log
tail: cannot open `/var/log/mail.log' for reading: Permission denied

Saya tidak dapat menggunakan newgrpkarena meminta kata sandi, dan saya tidak memiliki kata sandi, hanya otentikasi kunci publik SSH.

Solusinya adalah bagi admin untuk mengembalikan pengeditan manual /etc/groupsdan kemudian melakukannya lagi dengan sudo gpasswd -a tripleee adm; atau sebagai alternatif, digunakan grpconvuntuk menggabungkan perubahan (yang saya ambil dari /server//a/389719/98333 )

tripleee
sumber
Sebenarnya, ternyata masalah sebenarnya adalah saya menggunakan kembali sesi master SSH . Memutuskan hubungan itu dengan melepas soket ControlPath dan masuk lagi menyelesaikan masalah.
tripleee