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

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

8
จะผนวกไฟล์เป็น sudo ได้อย่างไร?
ฉันต้องการทำ: echo "something" >> /etc/config_file แต่เนื่องจากผู้ใช้รูทเท่านั้นที่มีสิทธิ์เขียนไฟล์นี้ฉันจึงไม่สามารถทำได้ แต่สิ่งต่อไปนี้ใช้งานไม่ได้ sudo echo "something" >> /etc/config_file มีวิธีการผนวกไฟล์ในสถานการณ์นั้นโดยไม่ต้องเปิดไฟล์ด้วยตัวsudoแก้ไข 'd' ก่อนจากนั้นจึงผนวกเนื้อหาใหม่ด้วยมือ?
271 linux  command-line  sudo 

11
sudo ด้วยรหัสผ่านในหนึ่งบรรทัดคำสั่ง?
ในวันที่ยุ่งฉันก็อยากวิ่ง $ ./configure && make && sudo make install && halt ในตอนกลางคืนและเข้านอนหวังว่าแอปพลิเคชันจะถูกติดตั้งโดยอัตโนมัติ แต่สิ่งที่ฉันเห็นในวันถัดไปคือหน้าจอที่ sudo ขอรหัสผ่านให้ฉัน ดังนั้นฉันจะเรียกใช้ sudo ด้วยรหัสผ่านในบรรทัดคำสั่งเดียวได้หรือมีวิธีอื่นในการทำเช่นนี้?
115 shell  sudo 



7
SCP ไปยังเซิร์ฟเวอร์ระยะไกลด้วย sudo
ฉันมีไฟล์บนเซิร์ฟเวอร์ A (ซึ่งอยู่หลัง NAT ดังนั้นจึงไม่สามารถกำหนดแอดเดรสได้โดยตรง) ไฟล์จะต้องคัดลอกไปยังเซิร์ฟเวอร์ B ในไดเรกทอรีที่ จำกัด ไว้ที่รูท ฉันมีบัญชีบนเซิร์ฟเวอร์ B พร้อมสิทธิ์ sudo ไวยากรณ์สำหรับคำสั่ง scp คืออะไร

2
คำว่า "superuser" มาจากที่ใด
คำว่า "superuser" มาจากที่ใด มันสั้นลงหรือไม่ "ผู้ดูแลระบบ" หรือเป็นเพียงตัวบ่งชี้ระดับพลังงานที่ผู้ใช้ดังกล่าวถืออยู่ในระบบ?
55 sudo  root  terminology  su 

6
ไม่พบคำสั่งเมื่อใช้ sudo
มีคำถามสองสามข้อเกี่ยวกับเว็บไซต์ที่ดูเหมือนว่าเกี่ยวข้องกับปัญหาของฉัน แต่ฉันไม่สามารถหาวิธีแก้ปัญหาได้ ระบบปฏิบัติการของฉันคือ Ubuntu 12.04 ฉันmvnติดตั้ง/tools/noarch/apache-maven-3.1.1แล้วและฉันได้เพิ่มบรรทัดต่อไปนี้ในตอนท้ายของฉัน/etc/profile: export M2_HOME=/tools/noarch/apache-maven-3.1.1 export PATH=$M2_HOME/bin:$PATH source /etc/profileหลังจากนั้นฉันดำเนินการ ตอนนี้ปัญหาของฉันคือเมื่อฉันเรียกใช้mvn --versionคำสั่งที่ประสบความสำเร็จและmvnปฏิบัติการพบว่าในขณะที่ถ้าผมดำเนินการ: ฉันจะได้รับการส่งออก:sudo mvn --version sudo: mvn: command not foundฉันรู้ว่าPATHอาจแตกต่างกันเมื่อฉันรันคำสั่งด้วยsudoและนั่นคือสาเหตุที่ฉันลองทำสิ่งนี้: $>sudo echo $PATH /tools/noarch/apache-maven-3.1.1/bin:... some other stuff ... สิ่งที่ฉันพยายามอีกประการหนึ่งคือการดำเนินการแล้วพิมพ์sudo su - mvn --versionในกรณีนี้mvnจะพบว่าประสบความสำเร็จและคำสั่งประสบความสำเร็จ เกิดขึ้นที่นี่คืออะไร?
52 linux  ubuntu  bash  sudo 


5
ทำไมระบบถึงมี /etc/sudoers.d ฉันจะแก้ไขได้อย่างไร
ครั้งที่แล้วฉันถามถึงความเสี่ยงของสิ่งเหล่านี้ (ใน / etc / sudoers): user_name ALL=(ALL) /usr/bin/vim /etc/httpd/confs/httpd.conf %group_name ALL=(ALL) /usr/bin/vim /etc/httpd/confs/httpd.conf ในขณะที่ฉันกำลังคิดเกี่ยวกับปัญหานี้ฉันพบไดเร็กทอรี/etc/sudoers.d ไฟล์ในไดเรกทอรีควรมีฟังก์ชั่นที่คล้ายกับ / etc / sudoers (หมายถึงสคริปต์ข้างต้นยังคงเป็นปัญหาแม้ใน /etc/sudoers.d) และอย่างไรก็ตามบทความหนึ่งกล่าวว่าเราไม่ควรใช้ไดเรกทอรีเพราะเราไม่สามารถใช้visudoเพื่อแก้ไขไฟล์ใน มัน. นั่นคือเราสูญเสียสิทธิ์ในการใช้sudoหากเราทำผิดพลาดในไดเรกทอรี ถ้าเป็นจริงทำไมเรามี/etc/sudoers.d ? เราไม่หรือมีวิธีการที่ดีในการแก้ไขไฟล์ใน/etc/sudoers.d ?
48 ubuntu  sudo  sudoers  httpd 

4
ฉันจะทำให้ sudo รักษาตัวแปรสภาพแวดล้อมของฉันได้อย่างไร
การใช้ sudo 1.7.4p4 บน Solaris 5.10 และ sudo 1.6.7p5 บน RHEL4 u6 ฉันไม่เห็นวิธีการรักษาตัวแปรสภาพแวดล้อมของฉันเช่น $ PYTHONPATH ฉันได้เพิ่มบรรทัดนี้ใน sudoers แต่ก็ไม่ได้สร้างความแตกต่าง: Defaults !env_reset ฉันกำลังทำอะไรผิดหรือการติดตั้ง sudo ไม่เคารพธง env_reset หรือไม่? แก้ไข: อย่างน้อยใน Solaris เราพบว่าปัญหานี้ขึ้นอยู่กับเชลล์! เชลล์รูทมาตรฐานคือ Bourne หากเรารัน bash ภายใต้ sudo ( sudo bash) ในทางกลับกัน! env_preset จะรักษาสภาพแวดล้อม (รวมถึง PATH และ LD_LIBRARY_PATH) นี่เป็นพฤติกรรมที่ค่อนข้างสับสนที่ฉันต้องพูด


5
Sudo vs root; ความแตกต่างที่เกิดขึ้นจริง?
ฉันกำลังทำงานกับสมาชิกสนับสนุนผลิตภัณฑ์และเขายืนยันว่าฉันต้องเป็น root ในการติดตั้งชุดข้อมูลแก้ไขและ sudo นั้นจะไม่ทำงาน เขาไม่ได้ให้เหตุผล แต่ดูเหมือนว่าจะมั่นคงในความเชื่อของเขา เรียกดู Superuser ฉันไม่สามารถระบุสาเหตุที่เป็นไปได้สำหรับกรณีนี้และในการยืนยันเมื่อฉันเรียกใช้: sudo -l ฉันเข้าใจ: ... User [MY USERNAME] may run the following commands on this host: (ALL) ALL การเข้าถึงจากทีมงาน Linux / Server เพื่อเป็นรูทไม่ใช่กระบวนการเลียนแบบตามที่ฉันเข้าใจดังนั้นฉันจึงต้องการติดตั้งด้วยตนเอง มีเหตุผลเชิงปฏิบัติใด ๆ ว่าทำไม sudo จะทำงานแตกต่างจากรูทสำหรับการติดตั้งซอฟต์แวร์บนเซิร์ฟเวอร์หรือไม่?
44 linux  sudo  root 

3
SSH: รันคำสั่ง sudo
ฉันมีเชลล์สคริปต์แบบโต้ตอบที่หนึ่งต้อง ssh ไปยังเครื่องอื่น (ตาม Ubuntu) และดำเนินการบางอย่างเป็น root (ผู้ใช้ควรป้อนรหัสผ่านของเขา แต่คำสั่งระยะไกลควรทำงานตามที่ระบุไว้ในสคริปต์): # ... ssh remote-machine 'sudo ls' # ... อย่างไรก็ตามฉันได้รับข้อความแสดงข้อผิดพลาดนี้เสมอ: sudo: no tty present and no askpass program specified ตกลงนั่นค่อนข้างชัดเจน แต่ฉันจะหลีกเลี่ยงสิ่งนี้ได้อย่างไร สิ่งนี้จะเกิดขึ้น: $ ssh remote-machine 'sudo ls /' [sudo] password for user1: /bin /etc /var
44 ssh  script  remote  sudo 

1
ฉันจะส่งนามแฝงไปยัง sudo ได้อย่างไร
ฉันได้พยายามวางนามแฝงของฉันใน~/.bash_profile, ~/.bashrc, และ/etc/profile/etc/bashrc ฉันยังคงไม่สามารถดำเนินการดังต่อไปนี้: alias zf2="php public/index.php" จากนั้นดำเนินการ: sudo zf2 orm:info ปัญหาน่าจะเป็นที่ฉันไม่สามารถระบุนามแฝงเป็นคำสั่งโดยใช้ visudo-- ซึ่งทำให้เกิดข้อผิดพลาดทางไวยากรณ์ ดังนั้นฉันไม่สามารถโทร: sudo zf2 orm:info อย่างไรก็ตามฉันสามารถสร้างสคริปต์ที่ / usr / share / สคริปต์ / zf2 ซึ่งมี: #!/bin/bash alias zf2="php public/index.php" zf2 $1 และเพิ่มสคริปต์นี้เป็นคำสั่งใน visudo เมื่อสคริปต์นี้อยู่ในเส้นทางของผู้ใช้ฉันสามารถดำเนินการได้ zf2 orm:info ฉันมีนามแฝงที่แตกต่างกันเช่นzf2ฉันต้องเปิดเผยให้ผู้ใช้เห็น ฉันต้องการรักษานามแฝงแทนชุดสคริปต์
38 bash  sudo  alias 


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