จำเป็นต้องรีบูตเครื่องเพื่อรีเฟรชสิทธิ์หลังจากเพิ่มผู้ใช้ในกลุ่มใหม่หรือไม่?


26

บนเซิร์ฟเวอร์ ubuntu ฉันสังเกตเห็นมากกว่าหนึ่งครั้งแล้วหลังจากเพิ่มผู้ใช้ไปยังกลุ่มที่ผู้ใช้ไม่มีสิทธิ์กลุ่มจนกว่าฉันจะรีบูตระบบ ตัวอย่างเช่น:

ผู้ใช้ 'ฮัดสัน' ต้องการสิทธิ์ในการอ่านไดเรกทอรี 'รูท: shadow / etc / shadow' ดังนั้นฉันจึงเพิ่มฮัดสันเข้ากับกลุ่มเงา ฮัดสันยังอ่านไม่ออก ดังนั้นฉัน 'sudo ปิด -h -r ตอนนี้' และเมื่อระบบเกิดขึ้นอีกครั้งผู้ใช้ hudson สามารถอ่าน

จำเป็นต้องรีบูตหรือมีวิธีที่ดีกว่าในการรับสิทธิ์ใช้หลังจากเพิ่มผู้ใช้ในกลุ่มหรือไม่


สำหรับการอ้างอิงในอนาคตฉันได้เพิ่มโซลูชันจริงด้านล่าง ฉันประหลาดใจที่นี่เป็นปัญหา หวังว่าจะช่วย
TryTryAgain

คำตอบ:


25

ฉันกำลังมองหาวิธีแก้ปัญหาเจอโพสต์นี้แล้วเจอทีหลัง!

ฉันคิดว่าฉันเสนอวิธีแก้ปัญหาเพื่อให้ผู้อื่นได้รับประโยชน์ เข้าสู่ระบบและออกจึงเป็น 1995

เอามาจาก:

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

ดังนั้นหากคุณต้องการได้รับอนุญาตสำหรับcdromกลุ่มคุณเพิ่งเพิ่มผู้ใช้ของคุณไปที่:

newgrp cdrom 

ตัวอย่างเช่น

ดังนั้นขั้นตอนจะเป็น:

#adduser my_user cdrom

แล้ว

$newgrp cdrom

ฉันยืนยันว่ามันใช้งานได้

การ$groupsตรวจสอบอย่างง่ายจาก CLI แสดงให้เห็นว่าผู้ใช้อยู่ในกลุ่ม และการดำเนินการอย่างรวดเร็วพร้อมกับสิทธิ์ที่จำเป็นจากกลุ่มนั้นทำงาน

ไม่จำเป็นต้องฆ่า windows ของคุณและเข้าสู่ระบบและออกจากระบบ! หวังว่าจะช่วยผู้อื่น!

ข้อมูลเพิ่มเติม (ขึ้นอยู่กับความคิดเห็นที่มีประโยชน์ของ jytou): "[นี่] วิธีแก้ปัญหาจะทำงานเฉพาะกับเชลล์ที่เปิดอยู่ในปัจจุบันเท่านั้นหากคุณมีเชลล์อื่นเปิดอยู่คุณจะต้องใช้คำสั่งเดียวกันเพื่อพิจารณาการเปลี่ยนแปลง"


1
เยี่ยมมากมันใช้งานได้ดีจริงๆ !!! : D
dadexix86

3
โปรดทราบว่าโซลูชันของ TryTryAgain จะทำงานเฉพาะกับเชลล์ที่เปิดอยู่ในปัจจุบันเท่านั้น หากคุณมีเชลล์อื่นเปิดอยู่คุณจะต้องใช้คำสั่งเดียวกันเพื่อพิจารณาการเปลี่ยนแปลง
jytou

ยังไงที่จะทำเช่นนั้นสำหรับ sesssion ทำงาน X
artfulrobot

@artfulrobot ขอโทษฉันไม่แน่ใจว่าคุณหมายถึงอะไร คุณอาจต้องการเปิดคำถามใหม่และอ้างอิงโพสต์และวิธีแก้ไขปัญหาเพื่อให้ได้รับความช่วยเหลือที่ดีที่สุด
TryTryAgain

19

เมื่อเพิ่มผู้ใช้ในกลุ่มใหม่ผู้ใช้จะต้องออกจากระบบและลงชื่อเข้าใช้ใหม่เพื่อให้มีผล ในขณะที่การรีบูตจะทำให้สำเร็จก็ไม่จำเป็นต้องทำ


ฉันจะออกจากระบบผู้ใช้ที่สร้างขึ้นโดยความถนัดเมื่อติดตั้งแพคเกจได้อย่างไร
Michael Prescott

แพ็คเกจใดสร้างhudsonผู้ใช้
womble

จัสตินตอบลองหยุดและเริ่มบริการ
Scott Pack

นี่คือสิ่งที่ฉันทำ เพียงออกจากระบบและลงชื่อเข้าใช้ใหม่
เทรนต์ Scott

จริงๆแล้วคุณไม่จำเป็นต้องออกจากระบบและกลับเข้ามาใหม่ขอบคุณ ฉันเสนอวิธีแก้ปัญหาการทำงานด้านล่าง ผ่านการทดสอบและมีความสุข!
TryTryAgain

8

การเพิ่มผู้ใช้ในกลุ่มไม่มีผลต่อผู้ใช้ที่ล็อกอินในปัจจุบัน

ในกรณีของ daemon คุณต้องเริ่มต้นใหม่เพื่อให้กลุ่มใหม่สามารถใช้งานได้

นอกจากนี้การรีสตาร์ท daemon โดยใช้ตัวเลือกใน daemon เองจะไม่ทำงานเนื่องจากจะเป็นการสืบทอดสภาพแวดล้อมปัจจุบัน

วิธีที่ง่ายที่สุดในการทำให้มันใช้งานได้คือหยุดดีมอนและเริ่มต้นใหม่อีกครั้งอย่างเช่น ..

/etc/init.d/foo stop ; /etc/init.d/foo start

4

นั่นคือ easiere มากขึ้นคุณสามารถตรวจสอบระดับการเข้าถึงปัจจุบันของคุณโดยการพิมพ์:

id

ในการรีโหลดกลุ่มของคุณคุณเพียงแค่ต้องการ:

su - $USER

หลังจากนั้นตรวจสอบระดับการเข้าถึงอีกครั้ง:

id

และคุณจะเห็นกลุ่มใหม่ทำงานอยู่


1

มีโหมดความล้มเหลวที่แตกต่างกันซึ่งควรได้รับการแก้ไขที่นี่

หากผู้ดูแลระบบอัปเดต/etc/groupแต่ไม่สามารถอัปเดตได้/etc/gshadow(ในระบบที่มีการตั้งค่านี้) การออกจากระบบและกลับเข้าสู่ระบบจะไม่ได้กำหนดให้คุณในกลุ่มใหม่

พลุกพล่านgroupsจะแสดงให้คุณจริงสถานการณ์ปัจจุบันในขณะที่idจะไม่ถูกต้องพิมพ์เอาท์พุทซึ่งแสดงให้เห็นว่าคุณมีความถูกต้องเป็นสมาชิกของกลุ่ม

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

ฉันไม่สามารถใช้newgrpเพราะขอรหัสผ่านและฉันไม่มีรหัสผ่านเฉพาะการตรวจสอบสิทธิ์กุญแจสาธารณะ SSH

การแก้ปัญหาจะทำให้ผู้ดูแลระบบสามารถย้อนกลับการแก้ไขด้วยตนเองจาก/etc/groupsนั้นทำอีกครั้งด้วยsudo gpasswd -a tripleee adm; หรืออีกวิธีหนึ่งgrpconvเพื่อรวมการเปลี่ยนแปลง (ซึ่งฉันเลือกจากhttps://serverfault.com/a/389719/98333 )


ที่จริงปรากฎว่าปัญหาที่แท้จริงคือการที่ฉันได้รับการนำเซสชั่นหลัก SSH การตัดการเชื่อมต่อนั้นโดยการถอดซ็อกเก็ต ControlPath และการเข้าสู่ระบบอีกครั้งสามารถแก้ไขปัญหาได้
tripleee
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.