วิธีการติดตั้งเมื่อสิทธิ์ถูกปฏิเสธไปยัง / usr / local / bin / [ปิด]


0

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

wget http://www.drive5.com/muscle/downloads3.8.31/muscle3.8.31_i86linux64.tar.gz
tar xzvf muscle3.8.31_i86linux64.tar.gz
mv muscle3.8.31_i86linux64 /usr/local/bin/muscle
chmod a+x /usr/local/bin/muscle

/usr/local/bin/แต่ก็อนุญาตปฏิเสธไป ดังนั้นฉันจึงสร้างไดเรกทอรีที่เรียกว่า/home/users/me/muscleแทน /usr/local/bin/และทำตามขั้นตอนต่อไป ในที่สุดฉันเพิ่มไดเรกทอรีไปยังเส้นทาง

มันไม่ได้ผล. หมายเหตุ: คำสั่ง sudo ขอรหัสผ่านที่ฉันไม่มี


"เมื่อใดก็ตามที่ฉันเรียกใช้สคริปต์ของฉันซึ่งใช้กล้ามเนื้อ" โปรดแก้ไขและเพิ่มสคริปต์ของคุณในคำถาม
DavidPostill

จากการออกแบบรูทเท่านั้นที่สามารถเขียนไปยังโฟลเดอร์ระบบผู้ใช้มีสิทธิ์เข้าถึงผู้ใช้ของพวกเขาเท่านั้น ใน Debian และตราสารอนุพันธ์sudoนั้นใช้เพื่อรับสิทธิ์ยกระดับชั่วคราว

คำสั่ง sudo ขอรหัสผ่านที่ฉันไม่มี
104078

1
@ 104078 ดังนั้นคุณไม่สามารถติดตั้งซอฟต์แวร์และผู้ดูแลระบบที่มีsudoสิทธิ์จำเป็นต้องติดตั้งให้คุณ
JakeGould

@ JakeGould หาก“ การติดตั้งซอฟต์แวร์” หมายถึงเพียงแค่เรียกใช้ไฟล์ปฏิบัติการมันไม่จำเป็นต้องอยู่/usr/local/binแต่อาจเป็นไปได้~/binโดยไม่จำเป็นต้องมีสิทธิ์ผู้ใช้ขั้นสูง
slhck

คำตอบ:


5

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

ดังนั้นฉันจึงสร้างไดเรกทอรีที่เรียกว่า/home/users/me/muscleแทน /usr/local/bin/และทำตามขั้นตอนต่อไป ในที่สุดฉันเพิ่มไดเรกทอรีไปยังเส้นทาง มันไม่ได้ผล.

สถานที่แนะนำให้ใส่ไบนารีผู้ใช้ของคุณจะเป็นที่เป็น~/bin/home/<username>/bin

ดังนั้นคัดลอกไฟล์ไปที่~/bin/muscle(สร้างโฟลเดอร์หากไม่มี):

mkdir -p ~/bin
mv muscle3.8.31_i86linux64 ~/bin/muscle
chmod +x ~/bin/muscle

บันทึกไฟล์ ตอนนี้คุณต้องให้แน่ใจว่าคุณ$PATHมีbinไดเรกทอรีนั้น

หากมีไฟล์ที่เรียกว่า~/.bash_profileแก้ไขหรือหากไม่มีอยู่ให้สร้างและเพิ่มสิ่งต่อไปนี้:

PATH="$HOME/bin:$PATH"

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

เมื่อคุณตอนนี้echo $PATHมันควรมีbinไดเรกทอรีนั้น และเมื่อคุณเรียกใช้ก็ควรจะหาว่าเพราะมันเป็นในmuscle$PATH


1

ไม่คุณบัญชีมีรหัสผ่าน? หากsudoคุณขอรหัสผ่านก็จะขอรหัสผ่านของคุณ ป้อนและดูว่าคุณได้รับอนุญาต

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