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

คำสั่ง sudo เป็นโปรแกรมสำหรับระบบปฏิบัติการ Unix และ Unix-Like บางระบบที่อนุญาตให้ผู้ใช้รันโปรแกรมด้วยสิทธิ์ความปลอดภัยของผู้ใช้รายอื่น โดยทั่วไปแล้วเป็น superuser หรือผู้ใช้รูท

2
ทำไม sudo ไม่ทำงานกับ curl
ฉันรันคำสั่งเพื่อดาวน์โหลดบางสิ่งด้วยcurl- sudo curl roots.cx/get | sh - และมันโยนข้อผิดพลาดการอนุญาตปฏิเสธ ดังนั้นฉันทำsudo curlและฉันได้รับข้อผิดพลาดเดียวกัน ... ทำไมจึงเป็นเช่นนั้น? ผมสามารถที่จะเรียกใช้คำสั่งติดตั้งโดยไม่ได้curlแต่ผมต้องsudoดังนั้นทำไมcurlไม่ทำงานกับsudo?
10 sudo  curl 

2
ทำไม sudo จึงต้องเริ่มต้นเว็บเซิร์ฟเวอร์บนพอร์ต ip:
ฉันตั้งค่าเว็บเซิร์ฟเวอร์ที่ใช้ Python ในกล่อง Debian ของฉัน ติดตั้ง: Debian OS นั้นใช้ VM แต่ฉันได้เปลี่ยน VirtualBox จาก NAT เป็น Bridged IP ของการตั้งค่า VM = 192.168.1.7(สำหรับหน้าจอผู้ดูแลระบบของเราเตอร์หรือifconfig) ฉันได้ตั้งค่าการส่งต่อพอร์ตเราเตอร์ของฉันสำหรับทั้ง ssh และ HTTP สำเร็จแล้ว ฉันตั้งค่าไดนามิก DNS ของเราเตอร์เรียบร้อยแล้วโดยใช้ dyndns.com โดยไม่คำนึงถึงเฉพาะหลามเว็บเซิร์ฟเวอร์ของฉันใช้ (Django, CherryPy ห้องสมุดมาตรฐาน) ฉันต้องเริ่มต้นเว็บเซิร์ฟเวอร์ @ 192.168.1.7:80 sudoใช้ มิฉะนั้นฉันได้รับข้อผิดพลาดเกี่ยวกับการไม่ได้รับอนุญาตให้เข้าถึงพอร์ต ไม่มีบทเรียนเว็บเซิร์ฟเวอร์ที่กล่าวถึงจำเป็นต้องใช้sudoเมื่อระบุ ip: พอร์ต คำถาม: ทำไมฉันต้องใช้sudoเพื่อเริ่มต้นเว็บเซิร์ฟเวอร์เหล่านี้? มันเป็นข้อบ่งชี้ว่าฉันไม่ควรใช้192.168.1.7? หรือว่าฉันไม่ได้ตั้งค่าไฟล์ config อย่างเหมาะสมที่ไหน?

2
ฉันต้องการ sudo โดยไม่ต้องใส่รหัสผ่านสำหรับสคริปต์ ฉันไปผิดที่ไหน
ฉันอยู่ในกลุ่ม sudo: $ id uid=1002(molot) gid=1002(molot) groups=1002(molot),27(sudo),33(www-data) ใน sudores ของฉันฉันดูเหมือนจะมีการตั้งค่าที่เหมาะสม: sudo ALL=(ALL:ALL) NOPASSWD: ALL และเป็นบรรทัดที่ไม่ใส่เครื่องหมายสุดท้ายที่นั่น แต่เมื่อฉันพยายามgit pullฉันจะพิมพ์รหัสผ่านของฉันอีกครั้ง: $ sudo -u www-data git --git-dir /var/www/.git --work-tree /var/www pull "origin" master [sudo] password for molot: ไม่มีปัญหาเมื่อฉันเข้าสู่ระบบคอนโซล แต่มันไม่เป็นที่ยอมรับในสคริปต์ ดังนั้นฉันจะอนุญาตให้ทุกคนในกลุ่ม sudo สามารถ git pull เป็น www-data โดยไม่ต้องพิมพ์รหัสผ่านซ้ำได้อย่างไร เมื่อฉันใส่ชื่อของฉันโดยตรง: molot ALL=(ALL) NOPASSWD: ALL มันใช้งานได้สำหรับฉัน แต่เห็นได้ชัดว่าไม่ใช่สำหรับผู้ใช้แมเรียนหรือผู้ใช้รายอื่นจากกลุ่ม …
9 linux  git  sudo 

4
SSH / รหัสผ่านเข้าสู่ระบบที่แตกต่างจากรหัสผ่าน SUDO
ฉันต้องการใช้รหัสผ่านที่แตกต่างกันเพื่อยกระดับผู้ใช้ของฉันให้เป็นสถานะ sudo กว่ารหัสผ่านที่ฉันใช้ในการเข้าสู่ระบบ (ทั้งผ่าน GUI, เชลล์หรือ SSH) ไปยังบัญชีของฉัน เป็นไปได้ไหม แก้ไข: เนื่องจากการตั้งค่ารหัสผ่านรูทจะอนุญาตให้เข้าสู่ระบบในฐานะรูทนี่ไม่ใช่วิธีที่ดีที่จะไป ฉันต้องการรหัสผ่าน sudo เฉพาะผู้ใช้มากกว่ารหัสผ่านรูททั้งระบบ

5
sudo chmod -R 777 /
sudo chmod -R 777 / ฉันทำอย่างนี้. มันเป็นความผิดพลาด. มีวิธีการยกเลิกหรือไม่ โดยพื้นฐานแล้วมันจะเลอะสิ่งต่าง ๆ มากกว่าที่ฉันสามารถแสดงรายการ ฉันไม่ได้เปิดใช้งานไทม์แมชชีนบนเครื่อง mac

1
ไม่ใช่ ssh sudo …จะแจ้งให้ใส่รหัสผ่านเป็นข้อความธรรมดา
ฉันใช้คำสั่ง SSH แบบไม่โต้ตอบ การตรวจสอบความถูกต้อง ssh ได้รับการดูแลอย่างดีผ่านตัวแทน ssh แต่ถ้าฉันเรียกใช้คำสั่งที่ต้องใช้ sudo แล้วรหัสผ่านพร้อมท์ใน terminal ของฉันเป็นข้อความธรรมดา ตัวอย่างเช่น: ssh remotemachine "sudo -u www mkdir -p /path/to/new/folder" จะให้ฉันใส่รหัสผ่านเป็นข้อความธรรมดา ไม่มีใครรู้ว่าฉันจะได้รับมันให้ใช้พรอมต์ความปลอดภัยปกติหรือฉันสามารถส่งรหัสผ่านผ่านสวิตช์ได้หรือไม่ (เนื่องจากฉันสามารถตั้งค่าพรอมต์ที่ปลอดภัยในด้านนี้ก่อนที่ฉันจะส่งคำสั่ง) ความช่วยเหลือใด ๆ ที่ชื่นชมมาก
9 macos  security  ssh  sudo 

1
ฉันจะเปลี่ยนเส้นทางการส่งออก OS X dtruss เมื่อทำงานด้วย sudo ได้อย่างไร
ฉันทำงานdtrussบน Mac OS X 10.9 ตัวอย่างง่ายๆคือ: sudo -c ls แต่ฉันต้องการจับdtrussเอาท์พุทเป็นไฟล์ ฉันเห็นสิ่งที่แนะนำว่าฉันสามารถทำสิ่งที่ชอบ: sudo bash -c 'dtruss -c ls >x' แต่เมื่อฉันทำเช่นนี้การส่งออกของdtrussยังคงไปที่สถานีและรายการของไฟล์จากlsได้รับการเปลี่ยนเส้นทางไปยังไฟล์ ฉันจะเปลี่ยนเส้นทางการส่งออกdtrussไปยังไฟล์ได้อย่างไร?

5
เปลี่ยนไฟล์ sudoers และไม่สามารถเปิดได้อีกต่อไป ไม่สามารถเปิดไฟล์ใด ๆ โดยใช้รูท
ฉันเปลี่ยนการตั้งค่าในไฟล์ sudoers โดยใช้ sudo visudo และทำให้มันยุ่ง ตอนนี้เมื่อฉันลองทำอีกครั้งหรือเปิดไฟล์ใด ๆ โดยใช้ sudo ฉันไม่สามารถเปิดได้อีกต่อไปและฉันได้รับข้อความแสดงข้อผิดพลาดนี้: >>> ไฟล์ sudoers: ข้อผิดพลาดทางไวยากรณ์บรรทัด 7 เกิดอะไรขึ้น มีวิธีใดบ้างที่จะพ้นจากปัญหานี้ (เพื่อยกเลิกการตั้งค่า) หรือฉันต้องติดตั้ง linux ใหม่หรือไม่? เหตุผลที่ฉันได้รับทั้งหมดนี้คือฉันกด "Q" ในขณะที่มันบอกฉันว่ามีข้อผิดพลาดบางอย่างซึ่งฉันโง่มาก ขอบคุณ แก้ไข ไฟล์ sudoers ของฉันไม่แตกต่างจากไฟล์ sudoers ปกติ ฉันเพิ่งเพิ่ม timestamp_timeout = 0 บรรทัดในไฟล์นั้นและปัญหาเหล่านี้เกิดขึ้น ฉันทำสิ่งที่เจมส์แนะนำและลบบรรทัดนั้นออกไป (timestamp_timeout = 0) ฉันเปลี่ยนการอนุญาตไฟล์เป็น 0440 ที่ร้องขอจากนั้นให้บูตตามปกติ จากนั้นฉันได้รับข้อความแสดงข้อผิดพลาดเดียวกัน sudoers file: syntax error, line …

2
sudoedit: ทำไมใช้มันมากกว่า sudo vi
ให้เป็นไปตาม หน้าคน : sudoedit /etc/file สร้างสำเนาของไฟล์เปิดเป็นผู้ใช้ปัจจุบันและเมื่อบันทึกจะบันทึกทับไฟล์ที่มีอยู่ด้วยสำเนา แต่ทว่า sudo vi /etc/file เปิดไฟล์ในฐานะรูท man page ระบุว่า sudoedit นั้นแตกต่างจาก sudo เพราะ: ตัวแก้ไขถูกเรียกใช้โดยไม่มีการแก้ไขสภาวะแวดล้อมของผู้ใช้ วิธีแรกปลอดภัยกว่าไหมถ้าอย่างนั้นทำไม? มีเหตุผลอื่นอีกไหมในการใช้ sudoedit แทนที่จะเป็น sudo vi
7 linux  sudo 

2
ทำไมถึงไม่สามารถ sudo history ได้?
หากฉันต้องการดูประวัติทุบตีรูทของฉันทำไมฉันจึงไม่สามารถรันได้sudo history? เมื่อฉันบอกว่าไม่พบประวัติคำสั่ง แต่ถ้าฉันรันโดยไม่มี sudo มันจะทำงานได้ดี แก้ไข: เป็นคำตอบที่ซ้ำกัน แต่ไม่ใช่คำถามที่ซ้ำกันสำหรับคำถามที่เชื่อมโยง บุคคลที่ถามคำถามใด ๆ จะไม่ทราบว่าเป็นคำสั่งเชลล์บิวด์อินซึ่งต่างจากไบนารี

1
คำสั่งที่อนุญาตพิเศษที่ผู้ใช้สามารถใช้ได้กับ sudo
ฉันพยายามตั้งค่าบัญชีขาวของคำสั่งที่ผู้ใช้สามารถเรียกใช้บนระบบของฉัน เซิร์ฟเวอร์ที่ฉันใช้กำลังเรียกใช้ CentOS 7 ไวยากรณ์ที่ควรใช้เพื่ออนุญาตให้กลุ่มคำสั่งและอาร์กิวเมนต์บางกลุ่มสามารถเรียกใช้เป็น sudo สำหรับผู้ใช้ได้อย่างไร ฉันต้องการให้ sudo ไม่ต้องใช้รหัสผ่านเมื่อเรียกใช้คำสั่งเหล่านี้ ฉันได้ลองแล้ว: ผู้ใช้ ALL = / bin / cmd1 arg1 arg2, / bin / cmd2 arg1 arg2, / bin / cmd3 arg1 arg2 NOPASSWD: ทั้งหมด ผู้ใช้ ALL = (ผู้ใช้: กลุ่ม) / bin / cmd1 arg1 arg2, / bin / cmd2 arg1 …
3 linux  bash  centos  sudo  centos-7 


1
การขอรหัสผ่านของผู้ใช้รายอื่นเมื่อใช้ sudo
ฉันใช้แพคเกจระบบอัตโนมัติในบ้านชื่อ HomeSeer บนเซิร์ฟเวอร์ Ubuntu 15.04 ฉันได้กำหนดค่าให้ทำงานด้วยบัญชีบริการ (เรียกว่า "_homeseer") และฉันได้ chown'd ไดเรกทอรีแอปไปที่ _homeseer: _homeseer ในการติดตั้งการอัปเดตแพ็คเกจนี้ฉันดาวน์โหลดไฟล์ tar.gz จากนั้นเรียกใช้สคริปต์ "update.sh" ที่ผู้จำหน่ายระบุ สคริปต์นี้แยกไฟล์ที่ถูกบีบอัดซึ่งเกิดขึ้นกับการเขียนทับตัวเอง (update.sh) ... ดังนั้นฉันคิดว่าฉันไม่สามารถเปลี่ยนสคริปต์นั้นได้เว้นแต่ว่าฉันจะคัดลอกออกไปยังโฟลเดอร์อื่น ในฐานะส่วนหนึ่งของ update.sh มีบรรทัดที่เรียกว่า "sudo update_extra.sh" เนื่องจากฉันใช้ update.sh เป็นบัญชีบริการบรรทัด sudo นี้จะแจ้งรหัสผ่านของบัญชีบริการ ... ซึ่งฉันจำไม่ได้ (หรือฉันคิดว่าฉันไม่ต้องการ) ฉันไม่ต้องการให้สิทธิ์บัญชี sudo แบบเต็มโดยไม่ต้องใช้รหัสผ่านเนื่องจากเป็นความเสี่ยงด้านความปลอดภัยที่สำคัญ (เช่นแอปพลิเคชันทำงานบนเว็บเซิร์ฟเวอร์) ฉันยังลังเลที่จะให้สิทธิ์แบบเต็มแก่ sudo ในการเรียกใช้ไฟล์ update_extra.sh ในฐานะรูทเนื่องจากไฟล์ดังกล่าวสามารถอัปเดตได้ด้วยบัญชีบริการเดียวกัน คำถามของฉัน: เป็นไปได้หรือไม่ที่จะกำหนดค่า sudo (เช่น visudo) ดังนั้นหากบัญชี …
3 linux  ubuntu  sudo 

1
ตั้งค่าตัวแก้ไขเริ่มต้นสำหรับ crontab -e ที่เรียกใช้ด้วย sudo
ฉันใช้ Bash กับ Debian Squeeze ฉันเพิ่งอ่านหัวข้อนี้: เปลี่ยนโปรแกรมแก้ไขข้อความเริ่มต้นสำหรับ crontab เป็นกลุ่ม ฉันได้ส่งออกทั้งตัวแปรVISUALและEDITORเป็นกลุ่มสำหรับผู้ใช้ปกติและสำหรับรูต และใช้งานได้ - เมื่อฉันพิมพ์crontab -eในฐานะผู้ใช้หรือรูทปกติ crontab จะเรียกใช้กลุ่มสำหรับการแก้ไข แต่การวิ่งsudo crontab -eเปิดขึ้นนาโน การรันsudo echo $EDITOR(หรือ$VISUAL) ให้vimเอาต์พุตแบบ int

1
วิธีการเขียนสคริปต์เพื่อ sudo คำสั่งสุดท้าย [ซ้ำ]
คำถามนี้มีคำตอบอยู่ที่นี่แล้ว: เทอร์มินัล: คำนำหน้าคำสั่งก่อนหน้า? 4 คำตอบ โดยปกติสำหรับคำสั่งบางอย่างเช่นapt-get install xxxฉันลืมที่จะเพิ่มsudoก่อนจากนั้นฉันต้องพิมพ์อีกครั้ง resudoสิ่งที่ผมต้องการคือในกรณีดังกล่าวผมเพียงแค่พิมพ์คำสั่งง่ายๆเช่น sudo apt-get install xxxมันจะคำสั่ง sudo ล่าสุดของฉัน เป็นไปได้ในการทุบตี?
3 linux  bash  sudo 

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