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

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

4
เขียนไปยังไฟล์ที่ไม่มีการเปลี่ยนเส้นทางหรือไม่?
ฉันกำลังเขียนแอปพลิเคชันที่คอมไพล์ปกติที่ต้องการสร้างไฟล์พิเศษและเขียนคุกกี้วิเศษลงไป ฉันไม่สามารถเขียนไฟล์ได้โดยตรงจากแอปพลิเคชันโมเดลความปลอดภัยของระบบต้องการให้ฉันเปิดใช้เครื่องมือตัวช่วยที่มีสิทธิ์ระดับสูงในการทำเคล็ดลับ ฉันสามารถให้ข้อโต้แย้งกับเครื่องมือช่วยเหลือได้ไม่ จำกัด จำนวน ตอนนี้ฉันต้องการเลือกคำสั่งระบบที่ง่ายมากซึ่งจะทำหน้าที่เป็นเครื่องมือช่วยเหลือและสร้างไฟล์ให้ฉัน บางสิ่งเช่นนี้ /bin/sh -c "/bin/echo -n 'magic' > /some/where/file" Simple touchไม่ตัดตามที่ฉันต้องการเขียนคุกกี้ลงในไฟล์ง่ายๆechoโดยไม่มี shell wrapper ไม่ทำงานเนื่องจากต้องการการเปลี่ยนเส้นทางเพื่อเขียนไฟล์ ฉันรู้สึกไม่สบายใจที่จะเรียกเชลล์ด้วยสิทธิพิเศษรูทเพื่อทำงานที่ไม่สำคัญ มีคำสั่งระบบที่เรียบง่ายและ จำกัด มาก ๆ ที่ฉันสามารถเรียกให้เขียนไฟล์ให้ฉันได้ไหม?

2
shell script: ใช้ sudo ข้างในแล้ว vs รันด้วย sudo?
เมื่อเขียนเชลล์สคริปซึ่งบางคำสั่ง แต่ไม่ใช่ทั้งหมดนั้นจำเป็นต้องมีสิทธิ์ผู้ใช้ขั้นสูง เพิ่ม sudo ไปยังคำสั่งที่ต้องการสิทธิ์ผู้ใช้ขั้นสูงและรันเชลล์สคริปต์โดยไม่ต้อง sudo หรือ ไม่ต้องเพิ่ม sudo ไปยังคำสั่งที่ต้องการสิทธิ์ผู้ใช้ระดับสูง แต่รันเชลล์สคริปต์ด้วย sudo ใช่ไหม ในวิธีที่สองฉันจะต้องให้รหัสผ่านของฉันเพียงครั้งเดียว แต่คำสั่งทั้งหมดในสคริปต์จะทำงานด้วยสิทธิพิเศษ superuser รวมถึงคำสั่งที่ไม่ต้องการ ในวิธีแรกฉันอาจต้องให้รหัสผ่านของฉันหลายครั้งสำหรับคำสั่ง sudo ที่แตกต่างกันในขณะที่สิทธิ์ superuser จะได้รับเฉพาะกับคำสั่งที่ต้องการ จากความกังวลด้านความปลอดภัยวิธีแรกดีกว่า เพื่อความสะดวกวิธีที่สองดีกว่า ฉันคิดว่าจะใช้วิธีแรก ดังนั้นฉันต้องจัดการกับความไม่สะดวกในการให้รหัสผ่านกับคำสั่ง sudo หลายคำในเชลล์สคริปต์ Stephen Harris เขียนว่า : สคริปต์ที่เขียนได้ดีจะตรวจพบว่ามันทำงานด้วยสิทธิ์ที่ถูกต้องและไม่เรียก sudo เลย แต่มีสคริปต์ที่ไม่ดีมากมาย ดังนั้นฉันควรใช้วิธีที่สอง? ถ้าเป็นเช่นนั้น ฉันจะเขียน "สคริปต์จะตรวจพบว่ามันทำงานด้วยสิทธิ์ที่ถูกต้องและไม่เรียก sudo เลย"? ฉันจะปรับปรุงความปลอดภัยเพื่อหลีกเลี่ยงปัญหาในการให้สิทธิ์ผู้ใช้ขั้นสูงสำหรับคำสั่งที่ไม่ต้องการเมื่อใช้งานสคริปต์ด้วย sudo ได้อย่างไร วิธีการแบบง่ายนี้มีวิธีที่ดีที่สุดทั้งสองวิธีหรือไม่: เพิ่ม sudo ไปยังคำสั่งที่ต้องการใช้และรันสคริปต์โดยมีหรือไม่มี sudo …

2
ฉันจะใช้คำสั่งกับ sudo โดยไม่เปลี่ยนเจ้าของไฟล์ได้อย่างไร
เมื่อฉันใช้ sudo เพื่อทำกิจกรรมกับไฟล์ไฟล์เหล่านี้เปลี่ยนความเป็นเจ้าของ ฉันจะใช้คำสั่งกับ sudo โดยไม่เปลี่ยนเจ้าของไฟล์ได้อย่างไร ตัวอย่างไฟล์ archivos35.sh มาจาก Apache แต่ฉันใช้ sed (กับ usr admin sudo) $ ls -l -rwxr-xrw-. 1 apache apache 181 Aug 5 11:56 archivos35.sh ผู้ใช้adminกับ sudo --- sudo sed -i s/old/new/g archivos35.sh แต่การทำคำสั่งนั้นด้วย sudo จะเปลี่ยนเจ้าของไฟล์ $ ls -l -rwxr-xrw-. 1 admin apache 181 Aug 5 11:56 …
12 sed  sudo  ownership 

3
ปัญหาการดำเนินการคำสั่งในฐานะผู้ใช้อื่นกับ sudo -u
เมื่อฉันพยายามที่จะดำเนินการlsในฐานะผู้ใช้ที่abcมีคำสั่งต่อไปนี้ฉันได้รับข้อผิดพลาด: xyz@host:~/temp$ sudo -u abc ls [sudo] password for xyz: Sorry, user xyz is not allowed to execute '/bin/ls' as abc on host. แต่ถ้าฉันทำsu abcแล้วรันlsฉันก็ไม่มีปัญหา
12 sudo  su 

11
จะบันทึกคำสั่งภายใน“ sudo su -” ได้อย่างไร?
ถ้าฉัน: [user@notebook ~] sudo echo 123456uu 123456uu [user@notebook ~] จากนั้นฉันจะเห็นว่าในบันทึก: [root@notebook /var/log] grep 123456uu * auth.log:Jan 9 17:01:51 notebook sudo: user : TTY=pts/3 ; PWD=/home/user ; USER=root ; COMMAND=/bin/echo 123456uu [root@notebook /var/log] แต่ถ้าฉัน: [user@notebook ~] sudo su - [root@notebook ~] echo 1234567zz 1234567zz [root@notebook ~] ฉันไม่เห็นในบันทึก: [root@notebook /var/log] grep 1234567zz …
12 sudo 

3
มีปัญหากับการใช้งาน cd ด้วย sudo ในฐานะผู้ใช้รายอื่น
ฉันต้องการเรียกใช้คำสั่งบนเชลล์ในนามของผู้ใช้รายอื่น คำสั่งมีดังนี้: sudo -u USER cd /home/USER ฉันเข้าใจ sudo: cd: command not found ไวยากรณ์ที่ถูกต้องสำหรับคำสั่งให้ส่งผ่านไปยัง sudo คืออะไร?
12 sudo  cd-command 

2
การเปลี่ยนรหัสผ่านรูทไม่เปลี่ยนรหัสผ่าน sudo
ฉันพยายามเปลี่ยนรหัสผ่านที่ถามเมื่อใช้งานsudoใน Ubuntu การเรียกใช้sudo passwdหรือsudo passwd rootแจ้งรหัสผ่านใหม่สองรายการให้ฉันและจะเปลี่ยนรหัสผ่านให้สำเร็จ แต่ฉันก็ยังสามารถใช้รหัสผ่านเก่าของฉันเมื่อทำงานsudoอีกครั้งเพื่อสิ่งอื่น ฉันมีผู้ใช้ที่ใช้รหัสผ่านเดียวกัน แต่ฉันไม่รู้ว่าจะสร้างความแตกต่างได้หรือไม่ ฉันเปิดใช้งานผู้ใช้รูทและฉันสามารถเห็นรหัสผ่านใหม่ใช้งานได้กับบัญชีผู้ใช้รูท ดังนั้นรหัสผ่านรากมีการเปลี่ยนแปลง sudoแต่ไม่รหัสผ่านสำหรับ ฉันจะเปลี่ยนsudoรหัสผ่านได้อย่างไร
12 linux  ubuntu  root  sudo 

2
zsh ต้องการแก้ไขเสียงเรียกเข้าเป็น. vim
ฉันใช้ zsh กับ Gentoo x64 และเมื่อฉันพิมพ์sudo vim /path/to/file จากโฟลเดอร์บ้านของฉัน zsh ถาม: zsh: correct 'vim' to '.vim' [nyae]? ฉันต้องการเรียกใช้vimไม่ใช่.vimโฟลเดอร์ของฉัน ฉันจะแก้ไขสิ่งนี้ได้อย่างไร ฉันเดาว่าsetopt autocdเป็นสาเหตุของสิ่งนี้ สิ่งที่แปลกคือถ้าฉันไม่เพิ่มsudozsh ไม่ขอให้แก้ไขอะไรเลย
12 zsh  sudo  gentoo  line-editor 

6
วิธีการคืน sudo บน Ubuntu?
ฉันทำสิ่งนี้แล้ว: sudo chown -R myname /usr/ และตอนนี้ฉันไม่สามารถใช้sudoคำสั่งได้เนื่องจากข้อผิดพลาดนี้: sudo: ต้องเป็น setuid root และเมื่อฉันอ่านข้อความนี้หมายความว่าเจ้าของไฟล์/usr/bin/sudoนี้ไม่ได้เป็นรูท มันเป็นผู้ใช้ของฉันตอนนี้เพราะ chown ใน/usrโฟลเดอร์ ในฟอรัมและบล็อกที่หลายคนแนะนำให้ทำเช่นนี้ในฐานะรูท: # chown root:root /usr/bin/sudo # chmod 4111 /usr/bin/sudo ... แต่ปัญหาของเรื่องนี้คือฉันต้องเข้าสู่ระบบในฐานะที่เป็น root แต่ฉันทำไม่ได้เพราะถ้าฉันเขียนsuในเทอร์มินัลรหัสผ่านไม่ถูกต้อง (อันที่จริงฉันใช้รหัสผ่านที่ฉันเพิ่มให้กับผู้ใช้ของฉัน): $ su Password: su: Authentication failure ดังนั้นฉันจะกลับsudoคำสั่งได้หรือไม่ แก้ไข: Ubuntu ของฉันอยู่ภายใต้ Paralells บน Mac OS X ของฉัน

2
เมื่อใดที่ su และ sudo ใช้รหัสผ่านที่แตกต่างกัน
ฉันสามารถใช้อะไรก็ได้โดยใช้sudo; รหัสผ่านของฉันได้รับการยอมรับ แต่เมื่อใดก็ตามที่ฉันพยายามที่จะทำsuจากเปลือกมันล้มเหลวด้วย: su: รหัสผ่านไม่ถูกต้อง ปัญหาคืออะไร
12 command-line  sudo  su 

1
sudoers และค่าเริ่มต้น
ฉันต้องอนุญาตให้ผู้ใช้เรียกใช้ sudo โดยไม่ใช้รหัสผ่านโดยไม่มี tty ฉันมีไฟล์ภายใต้/etc/sudoers.d/คำสั่งและการตั้งค่าพิเศษที่ฉันต้องการเนื่องจากฉันไม่ต้องการแก้ไขsudoersไฟล์โดยตรง ในไฟล์นั้นฉันมีดังต่อไปนี้: # My list of commands that the user can run passwordless myUser ALL=(ALL) NOPASSWD:SETENV: /foo/bar /foo/zaz # My new defaults. Defaults exempt_group = myUser Defaults !env_reset,env_delete-=PATH Defaults: myUser !requiretty อย่างไรก็ตามเมื่อฉันsuให้กับผู้ใช้และเรียกใช้sudo -lฉันได้รับในค่าเริ่มต้น: Matching Defaults entries for myUseron this host: requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY …
12 sudo  sudoedit 

3
ไม่สามารถเปิดไฟล์กำหนดค่า '/ dev / fd / 63', ข้อผิดพลาด: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าวสำหรับ wpa_supplicant
เมื่อฉันทำสิ่งนี้: sudo wpa_supplicant -D nl80211,wext -i wlp4s0 -c <(wpa_passphrase "some ssid" "password") ฉันเข้าใจ Successfully initialized wpa_supplicant Failed to open config file '/dev/fd/63', error: No such file or directory Failed to read or parse configuration '/dev/fd/63' ความคิดใด ๆ

2
ฉันจะอนุญาตให้ผู้ใช้ที่ไม่ใช่รูทควบคุมเซอร์วิส systemd ด้วยอินสแตนซ์ได้อย่างไร
ฉันต้องการอนุญาตให้ผู้ใช้ในdbaกลุ่มสามารถควบคุมdatabase@บริการได้ คำตอบสำหรับคำถามที่เกี่ยวข้องนี้คือการทำรายการsystemctl"คำกริยา" ทั้งหมดที่ฉันต้องการอนุญาตในsudoersไฟล์อย่างไรก็ตามนั่นไม่ได้ใช้กับกรณีของฉันเพราะฉันไม่รู้ว่าฐานข้อมูลใดที่อาจมีอยู่ในระบบ ตัวอย่างเช่นถ้าฉันแสดง %dba = /usr/bin/systemctl start database@awsesomeapp %dba = /usr/bin/systemctl start database@anotherawsesomeapp %dba = /usr/bin/systemctl start database@yetanotherawsesomeapp %dba = /usr/bin/systemctl start database@wowyetanotherawsesomeapp # ... other "verbs" omitted for brevity ที่ไม่ครอบคลุมอินสแตนซ์ที่อาจมีอยู่ในอนาคตและ dba จะไม่สามารถทำได้ $ sudo systemctl start database@omgwowyetanotherawsesomeapp อย่างไรก็ตามฉันคิดในแง่ของบรรจุภัณฑ์มากกว่าที่คิดกับระบบเฉพาะ โปรดทราบว่าดังที่แสดงในคำตอบที่น่าอัศจรรย์สำหรับคำถามอื่นที่เกี่ยวข้องการใช้ sudo globs สำหรับสิ่งนี้ไม่ปลอดภัยในท้ายที่สุด: %dba ALL = /usr/bin/systemctl start database@[a-z]* …

1
รูทเชลล์เห็น pip แต่ sudo pip“ ไม่พบคำสั่ง”
ผมได้ติดตั้งหลาม 2.7.8 ผ่านmakeและmake installแล้ว pip ผ่านได้รับ pip ฉันต้องทราบว่าฉันทำงานหลังพร็อกซีซึ่งฉันได้ตั้งค่าผ่าน http_proxy ftp_proxy https_proxy ใน ผู้ใช้ของฉัน ~/.zshrc ราก /root/.basrc ตอนนี้ฉันสามารถวิ่งได้ pip ในบัญชีผู้ใช้ของฉัน ในบัญชีรูท แต่ฉันไม่สามารถเรียกใช้ผ่านเชลล์ผู้ใช้ของฉันโดยใช้ sudo sudo pip sudo: pip: command not found เกิดอะไรขึ้นที่นี่?

6
ฉันสามารถเปลี่ยนรหัสผ่านรูทด้วย sudo โดยไม่ใช้ su ได้หรือไม่?
ฉันสามารถ sudo su rootแต่ฉันไม่ได้มีรหัสผ่านรากดังนั้นฉันไม่สามารถ เมื่อใช้ sudo ฉันสามารถเปลี่ยนรหัสผ่านรูทได้หรือไม่
12 sudo  password 

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