คำถามติดแท็ก sudo

sudo - ดำเนินการคำสั่งด้วยสิทธิ์ superuser


12
ทำไมฉันต้องใช้ sudo เพื่อเกือบทุกอย่าง
หากฉันเข้าใจปรัชญา Linux อย่างถูกต้องsudoควรใช้อย่างไม่ จำกัด และการดำเนินการส่วนใหญ่ควรดำเนินการในฐานะผู้ใช้ที่ด้อยโอกาส แต่ดูเหมือนจะไม่สมเหตุสมผลเนื่องจากฉันต้องป้อนข้อมูลเสมอsudoไม่ว่าฉันจะจัดการแพ็คเกจแก้ไขไฟล์กำหนดค่าติดตั้งโปรแกรมจากแหล่งที่มาหรือสิ่งที่มีคุณ สิ่งเหล่านี้ไม่ใช่แม้แต่เรื่องทางเทคนิคอะไรก็ตามที่ผู้ใช้ทั่วไปทำ มันทำให้ฉันนึกถึง UAC ของ Window ซึ่งผู้ใช้ปิดใช้งานหรือกำหนดค่าให้ไม่ต้องใช้รหัสผ่าน (เพียงแค่คลิก) นอกจากนี้ผู้ใช้ Windows หลายคนก็เป็นบัญชีผู้ดูแลด้วยเช่นกัน นอกจากนี้ผมเคยเห็นบางคนที่แสดงคำสั่งที่ต้องใช้สิทธิพิเศษได้โดยไม่ต้องsudo sudoพวกเขามีการกำหนดค่าระบบในลักษณะที่sudoไม่จำเป็นหรือไม่?
64 sudo 

3
-bash: sudo: ไม่พบคำสั่ง
ฉันพยายามปรับใช้แอพ django เมื่อฉันพิมพ์ apt-get update ฉันเห็น W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (13: Permission denied) W: Unable to read /etc/apt/sources.list.d/ - DirectoryExists (13: Permission denied) W: Unable to read /etc/apt/sources.list - RealFileExists (13: Permission denied) E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied) E: Unable to …
63 debian  apt  sudo  su 

5
หลังจากเปลี่ยนชื่อ / usr โดยไม่ตั้งใจฉันจะเปลี่ยนชื่อกลับมาได้อย่างไร
ฉันตั้งใจเปลี่ยนชื่อไดเรกทอรีเข้า/usr/usr_bak ฉันต้องการที่จะเปลี่ยนกลับดังนั้นฉันผนวกเส้นทาง/usr_bak/binไปเพื่อให้ระบบที่จะหาคำสั่ง$PATHsudo แต่ตอนนี้sudo mv /usr_bak /usrทำให้ฉันมีข้อผิดพลาด: sudo: error while loading shared libraries: libsudo_util.so.0: cannot open shared object file: No such file or directory มีวิธีการเปลี่ยนชื่อที่/usr_bakเป็น/usrที่นอกเหนือจากการติดตั้งระบบ?
62 ubuntu  sudo  mv 

4
เราจะอนุญาตให้ผู้ใช้ที่ไม่ใช่รูทควบคุมบริการ system.d ได้อย่างไร?
ด้วยการsysvinitเป็นsudoersรายการเช่นนี้จะพอเพียง: %webteam cms051=/sbin/service httpd * สิ่งนี้จะช่วยให้คำสั่งเช่น: sudo service httpd status sudo service httpd restart ขณะนี้ด้วยsystemdชื่อบริการเป็นอาร์กิวเมนต์สุดท้าย นั่นคือบริการเริ่มต้นใหม่จะทำกับ: systemctl restart httpd.service โดยธรรมชาติแล้วฉันคิดว่าการกำหนดคำสั่งsystemctl * httpd.serviceจะทำงานได้ แต่นั่นจะอนุญาตให้บางอย่างเช่นsystemctl restart puppet.service httpd.serviceซึ่งไม่ใช่ผลที่ต้องการ เมื่อพิจารณาแล้วสิ่งใดจะเป็นวิธีที่ดีที่สุดที่จะทำให้ผู้ใช้ที่ไม่ใช่รูทสามารถควบคุมsystem.dบริการได้ สิ่งนี้ไม่จำเป็นต้องเป็นsudoers; บางทีการเปลี่ยนแปลงการอนุญาตไฟล์อาจจะเพียงพอหรือไม่

5
วิธีการเรียกใช้คำสั่งที่เกี่ยวข้องกับการเปลี่ยนเส้นทางหรือท่อด้วย sudo?
ฉันกำลังพยายามติดตามสิ่งที่ฉันถือว่าเป็นแนวทางปฏิบัติที่ดีที่สุดในการใช้ sudo แทนบัญชีรูท ฉันกำลังใช้งานไฟล์ concat อย่างง่ายเช่น: sudo echo 'clock_hctosys="YES"' >> /etc/conf.d/hwclock สิ่งนี้ล้มเหลวทางด้านขวาของ ">>" ซึ่งกำลังทำงานในฐานะผู้ใช้ปกติ การเพิ่ม sudos พิเศษก็ล้มเหลวเช่นกัน (ลักษณะการทำงานที่คาดไว้ตั้งแต่การไพพ์ไปยังคำสั่ง sudo และไม่ไปที่ไฟล์) ตัวอย่างเป็นเพียงแค่นั้น แต่มันได้รับการตรวจสอบและทดสอบภายใต้บัญชีรูท

9
มีวิธีหยุดการเขียน 'sudo' สำหรับทุกสิ่งใน Linux หรือไม่?
ฉันกำลังจะทำงาน PHP ในจำนวนที่พอใช้ในไม่ช้าและฉันสนใจที่จะเรียนรู้ RoR ดังนั้นฉันจึงติดตั้ง Linux Mint 12 ใน VirtualBox ของฉัน ส่วนที่น่าผิดหวังที่สุดของสวิตช์นั้นคือการจัดการกับสิทธิ์ของ Linux ดูเหมือนว่าฉันไม่สามารถทำอะไรที่มีประโยชน์ได้ (เช่นพูดคัดลอก tarf Symfony2 จากไดเรกทอรีดาวน์โหลดของฉันไปยังรูทเอกสารของฉันและแตกไฟล์) โดยไม่ต้องวางตัวเป็นรูทผ่าน sudo มีวิธีง่าย ๆ ในการบอก linux เพื่อให้ฉันเข้าถึงไดเรกทอรีบางอย่างโดยไม่ต้องเปิดสิทธิ์ทั้งหมดของพวกเขาหรือไม่

2
sudo เป็นผู้ใช้รายอื่นที่มีสภาพแวดล้อม
$ whoami admin $ sudo -S -u otheruser whoami otheruser $ sudo -S -u otheruser /bin/bash -l -c 'echo $HOME' /home/admin เหตุใดจึงไม่$HOMEถูกตั้งค่าเป็น/home/otheruserแม้ว่า bash จะถูกเรียกใช้เป็นเชลล์การเข้าสู่ระบบ โดยเฉพาะ/home/otheruser/.bashrcไม่ได้มีที่มา นอกจากนี้ยัง/home/otheruser/.profileไม่ได้รับที่มา - ( /home/otheruser/.bash_profileไม่มีอยู่) แก้ไข: ปัญหาจริงคือhttps://stackoverflow.com/questions/27738224/mkvirtualenv-with-fabric-as-another-user-fails

3
sshfs เมา sudo ได้รับอนุญาตถูกปฏิเสธ
ฉันกำลังใช้sshfsเพื่อติดตั้งโฟลเดอร์ที่มีโครงการหลามมากกว่า ssh ไปยัง~/ไดเรกทอรีของฉัน $ mkdir -p ~/mount/my-projects $ sshfs user@example.com:/home/user/my-projects ~/mount/my-projects ฉันสามารถดำเนินการคำสั่งส่วนใหญ่ตามที่คาดไว้: $ ls ~/mount/my-projects some-python-project แต่ฉันถ้าฉันพยายามทำอะไรกับsudoมันมันก็ล้มเหลวโดยไม่ได้รับอนุญาต: $ sudo ls ~/mount/my-projects ls: cannot access /home/user/mount/my-projects: Permission denied สิ่งที่ฉันพยายามทำให้สำเร็จคือการทดสอบสคริปต์การติดตั้งแพคเกจหลามบนเครื่องของฉัน: $ cd ~/mount/my-projects/some-python-project $ sudo python setup.py install
53 ssh  sudo  sshfs 

1
ทำไม sudo ไม่ถูกติดตั้งเป็นค่าเริ่มต้นใน Debian?
ฉันกำลังอ่านคำแนะนำในการติดตั้งซอฟต์แวร์และมาอ่านจนกว่าคำสั่งที่น่าตกใจนี้: sudoไม่ได้ติดตั้งบน Debian โดยค่าเริ่มต้น ตรวจสอบให้แน่ใจว่าระบบของคุณทันสมัยและติดตั้ง ในฐานะผู้ใช้ Debian ปัจจุบันนี่เป็นเรื่องยากที่จะเชื่อตั้งแต่ติดตั้งฉันสามารถใช้งานsudoได้ ดังนั้นอาจถูกติดตั้งเมื่อฉันเลือกที่จะไม่สร้างรหัสผ่านสำหรับบัญชีรูท เดเบียนไม่รวมsudo(หรือตัวแปร) ที่ติดตั้งเป็นค่าเริ่มต้นหรือไม่ ถ้าเราไปจากสิ่งที่เป็นคำตอบอื่น ๆ กล่าวว่า , sudoสามารถติดตั้งได้เนื่องจาก APT / อ้างอิง dpkg ซึ่งในบางกรณีจะขอให้ tasksel / แนวโน้มที่จะติดตั้งบรรดาเกินไป แต่จะไม่รวมอยู่ในรายการที่จำเป็นหรือสำคัญ ➜ ~ aptitude search ~prequired | grep sudo ➜ ~ aptitude search ~pimportant | grep sudo ➜ ~ aptitude why '~prequired' sudo i A dpkg …
51 debian  sudo 

2
ไวยากรณ์ sudoers ที่เหมาะสมในการเพิ่มผู้ใช้คืออะไร?
ตามความเห็นใน/etc/sudoers(Fedora 13): ## Syntax: ## ## user MACHINE=COMMANDS ## ## The COMMANDS section may have other options added to it. คำถามที่เกี่ยวข้องสองข้อของฉัน: ALL=(ALL) ALLค่าเฉลี่ยในบรรทัดต่อไปนี้คืออะไร: root ALL=(ALL) ALL ฉันทดสอบสองบรรทัดนี้แล้ว แต่ฉันไม่สามารถเข้าใจได้ว่ามันแตกต่างกันอย่างไร superadm ALL=(ALL) ALL superadm ALL=ALL ฉันอ่านคู่มือแล้ว แต่ข้อกำหนดทางไวยากรณ์ยากที่จะติดตาม ฉันได้รับแล้วว่าชิ้น(ALL) ALLส่วนนั้นเป็นข้อกำหนดของคำสั่งและแท็ก แต่ฉันก็ยังไม่สามารถเข้าใจได้
50 sudo 

5
ฉันจะสามารถ 'alias sudo !!' ได้อย่างไร?
ฉันกำลังพยายามตั้งชื่อแทนสำหรับsudo !!ใน Bash ฉันพยายามalias sbb='sudo !!'แต่มันตีความว่าเป็นตัวอักษร !!และภาพพิมพ์ sudo: !!: command not found ถ้าฉันใช้อัญประกาศคู่มันจะใช้แทนการทำซ้ำสองครั้งในสตริงของตัวเองดังนั้นจึงไม่ทำงาน มีวิธีการทำงานนี้หรือไม่? หรือชื่อแทนอื่น `

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

4
พรอมต์ขอรหัสผ่าน sudo และยกระดับสิทธิ์โดยใช้โปรแกรมในสคริปต์ทุบตี?
ขณะนี้ฉันกำลังทำงานกับสคริปต์ทุบตีที่ติดตั้งและตั้งค่าโปรแกรมต่าง ๆ บนระบบ Linux ที่มีอยู่ในสต็อก (ปัจจุบันคือ Ubuntu) เนื่องจากมันติดตั้งโปรแกรมและคัดลอกไฟล์จำนวนหนึ่งไปยังโฟลเดอร์ต่าง ๆ ที่ต้องการการยกระดับสิทธิ์ฉันจึงได้ทำมาตรฐาน "ฉันต้องการสิทธิ์ในการยกระดับ" - และ - ออก อย่างไรก็ตามฉันต้องการถ้าเป็นไปได้เพื่อให้ผู้ใช้รหัสผ่าน sudo ของพวกเขาและยกระดับสิทธิ์ของสคริปต์โดยอัตโนมัติหากผู้ใช้ไม่ได้เรียกใช้คำสั่งสคริปต์ด้วย sudo (เช่นการเปิดใช้จากตัวจัดการไฟล์ GUI) โดยที่ผู้ใช้ไม่ต้องรีสตาร์ทสคริปต์ เนื่องจากได้รับการออกแบบให้ทำงานบนการติดตั้ง Linux ในสต็อกตัวเลือกใด ๆ ที่ปรับเปลี่ยนระบบจะไม่ทำงานตามวัตถุประสงค์ของฉัน ตัวเลือกทั้งหมดจะต้องมีตัวสคริปต์ เป็นไปได้ภายใน Bash หรือไม่ ถ้าเป็นเช่นนั้นวิธีที่ดีที่สุด (ปลอดภัย แต่รัดกุม) ในการทำเช่นนี้คืออะไร
49 bash  sudo 

5
เหตุใดคำสั่ง sudo จึงไม่ต้องการรหัสผ่านรูท
ฉันใช้ Linux มาระยะหนึ่งและทุกครั้งที่ฉันพิมพ์sudoฉันคิดว่าฉันเปลี่ยนไปใช้ผู้ใช้รูทสำหรับคำสั่ง เห็นได้ชัดว่าสิ่งนี้ไม่เป็นความจริงเพราะสิ่งที่ฉันต้องการคือรหัสผ่านบัญชีผู้ใช้ของฉัน ฉันเดาเพราะฉันไม่ได้ทำงานกับผู้ใช้หลายคนฉันไม่ได้สังเกตสิ่งนี้ในโลกแห่งความเป็นจริง ฉันไม่แน่ใจว่า Ubuntu ตั้งค่าบัญชีแรกของฉันอย่างไร มีผู้ใช้รูทหรือไม่? ฉันรูทหรือเปล่า ฉันเดาว่าฉันเพิ่งสร้างผู้ใช้ใหม่เมื่อติดตั้ง แต่มันให้สิทธิพิเศษแก่ฉันหรือไม่ สับสนเล็กน้อยที่นี่ ... เหตุใดฉันจึงได้รับอนุญาตให้เรียกใช้คำสั่งรูทด้วยรหัสผ่านของผู้ใช้
48 sudo 

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