เปิดใช้งานผู้ใช้หลายคนเพื่อติดตั้งซอฟต์แวร์โดยใช้ homebrew


13

ฉันติดตั้งโฮมบรูว์โดยใช้บัญชีผู้ใช้อื่น (ซึ่งฉันใช้ระหว่างการทำงาน) แต่ไม่สามารถติดตั้งซอฟต์แวร์จากบัญชีส่วนตัวที่สร้างขึ้นใหม่ได้:

$ brew install unrar
Error: Cannot write to /usr/local/Cellar

ls -dl /usr/local/Cellar/แสดงให้เห็นว่าไดเรกทอรีเป็นเจ้าของบัญชีผู้ใช้อื่น ๆ ของฉัน

ฉันจะกำหนดค่าโฮมบรูว์เพื่อให้ผู้ใช้หลายคนติดตั้งซอฟต์แวร์ได้อย่างไร


คุณสามารถควบคุมได้จากผู้ใช้คนอื่นโดยทำsudo chown -R $(whoami) /usr/local
นาธานลอยด์

คำตอบ:


13

กำหนดไว้umaskสำหรับผู้ใช้แต่ละคนก่อน (.basrc หรือ. profile หรือ. bash_profile)

umask 0002 # group write permission

จากนั้นให้สิทธิ์ในการเขียนสำหรับกลุ่มผ่านทาง/usr/localแบบเรียกซ้ำ:

sudo chmod -R g+w /usr/local/

จากนั้นเปลี่ยนเจ้าของเป็น staff

sudo chgrp -R staff /usr/local

ตอนนี้ผู้ใช้แต่ละคนที่อยู่ในstaffกลุ่มสามารถใช้brew installและการดำเนินการอื่น ๆ ที่เกี่ยวข้องกับการชง ... ส่วนใหญ่ผู้ใช้ทุกคนอยู่ในกลุ่มนั้น


1
ฉันต้องทำเช่นเดียวกันสำหรับ / Library / Caches / Homebrew เพื่อให้ใช้งานได้จริง และเนื่องจากผู้ใช้ของฉันทั้งหมดเปิดใช้งานการเข้าถึงระดับผู้ดูแลระบบฉันจึงข้ามchgrp
Duvrai

1

บน homebrew wiki กล่าวถึงว่าคุณสามารถติดตั้งได้ทุกอย่างลองใช้การติดตั้งแบบโลคัลสำหรับผู้ใช้แต่ละคน


จริง ๆ แล้วฉันไม่ต้องการ ฉันต้องการให้ซอฟต์แวร์ไปยังสถานที่ทั่วไปโดยไม่คำนึงว่าใครติดตั้งซอฟต์แวร์นี้
Sridhar Ratnakumar

ฉันได้ลองแล้วและหวังว่าฉันจะไม่ทำตามที่คุณได้รับการอนุญาตจากผู้ใช้
MatthewFord

1

ในกรณีที่บัญชีของคุณมี root / su/ sudoaccess คุณสามารถลองวิธีแก้ปัญหาต่อไปนี้:

su - myother_user_account -c "brew install ..."

sudo ทางเลือก:

sudo -u myother_user_account brew install ...

นามแฝงของเชลล์ที่มีประโยชน์ (สำหรับ.bashrc/ .zshrc/ ... ):

alias brew="sudo -u myother_user_account brew"

1
นี่ไม่ใช่วิธีแก้ไขปัญหาที่แนะนำสำหรับผู้ใช้หลายคน มันต้องการให้ผู้ใช้สามารถมีสิทธิ์เข้าถึงรูตและ / หรือเข้าถึงโดยตรงเพื่อรันคำสั่งในฐานะผู้ใช้รายอื่นซึ่งเอาชนะวัตถุประสงค์ของการมีสิทธิ์ระดับผู้ใช้ในครั้งแรก คุณสามารถแบ่งโมเดลสำหรับกรณีการใช้งานของคุณเองเนื่องจากคุณเป็นเจ้าของกล่องและทั้งสองบัญชี แต่มันจะเป็นการไม่ดีสำหรับทุกคนที่จะใช้สิ่งนี้และการใช้ระบบของคุณจะปลอดภัยกว่าสำหรับการใช้สิทธิ์แยกที่เหมาะสม
Caleb

ฉันไม่เห็นด้วยว่านี่คือ "ไม่แนะนำ" นี่เป็นโซลูชันที่ต้องการให้ผู้ใช้รายอื่นมีสิทธิ์เข้าถึงรูท / sudo และหากสิ่งนี้เกิดขึ้นในกรณีเฉพาะของคุณฉันจะแนะนำสิ่งนี้โดยสิ้นเชิง ฉันลองวิธีอื่น ๆ ในการจัดการการอนุญาต Homebrew และมันเป็นฝันร้าย การอนุญาตที่ไม่สิ้นสุดปฏิเสธข้อผิดพลาดแม้ว่าฉันจะสาบานว่าฉันทำทุกอย่างตามที่ "แนะนำ"
cubuspl42
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.