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

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

3
วิธีการเรียกใช้สคริปต์ในฐานะผู้ใช้อื่นโดยไม่ต้องใช้รหัสผ่าน?
ฉันมี script.sh ที่ต้องทำงานเป็น user2 อย่างไรก็ตามสคริปต์นี้สามารถเรียกใช้ภายใต้ user1 ในแอปพลิเคชันของฉัน ฉันต้องการคำสั่งต่อไปนี้เพื่อเรียกใช้: su user2 -C script.sh แต่สามารถรันได้โดยไม่ต้องใช้รหัสผ่าน ฉันต้องการให้สิ่งนี้มีข้อ จำกัด มากเนื่องจากใน user1 สามารถเรียกใช้งาน script.sh ภายใต้ user2 เท่านั้นและไม่มีอะไรอื่นอีก ฉันได้ลองทำสิ่งนี้ด้วยไฟล์ sudoers และเพิ่งจะสับสนไม่รู้จบหลังจากพยายามหลายชั่วโมง หากใครบางคนสามารถให้ตัวอย่างที่ชัดเจนของวิธีการนี้สามารถทำได้ (แทนที่จะเป็นสิ่งทั่วไปเช่นใช้ sudoers) ก็จะได้รับการชื่นชมอย่างมาก
145 linux  bash  sudo  su  sudoers 

2
มีรายงานเหตุการณ์ sudo อยู่ที่ไหน [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ การพยายามทำบางสิ่งที่ผิดพลาดในเครื่องของฉันนำไปสู่ ryan@debian:~$ sudo EAT_ALL_THE_COOKIES_BEFORE_DINNER [sudo] password for ryan: ryan is not in the sudoers file. This incident will be reported. มีการรายงานเหตุการณ์นี้อยู่ที่ไหนและฉันจะรับบันทึกคำสั่งที่พยายามดำเนินการทั้งหมดที่น่ารังเกียจได้อย่างไร

29
ข้อผิดพลาดในการติดตั้ง npm พร้อมข้อผิดพลาด: ENOENT, chmod
ฉันกำลังพยายามติดตั้งโมดูล npm ทั่วโลกที่เพิ่งเผยแพร่ ทุกครั้งที่ฉันพยายามติดตั้งไม่ว่าจะจาก npm หรือโฟลเดอร์ฉันได้รับข้อผิดพลาดนี้ npm ERR! Error: ENOENT, chmod '/usr/local/lib/node_modules/takeapeek/lib/cmd.js' npm ERR! If you need help, you may report this log at: npm ERR! <http://github.com/isaacs/npm/issues> npm ERR! or email it to: npm ERR! <npm-@googlegroups.com> npm ERR! System Linux 3.8.0-19-generic npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "takeapeek" npm …

9
ฉันจะใช้ su เพื่อเรียกใช้สคริปต์ bash ที่เหลือในฐานะผู้ใช้นั้นได้อย่างไร
ฉันได้เขียนสคริปต์ที่ใช้เป็นอาร์กิวเมนต์ซึ่งเป็นสตริงที่เชื่อมต่อกันของชื่อผู้ใช้และโครงการ สคริปต์ควรจะเปลี่ยน (su) เป็นชื่อผู้ใช้ cd ไปยังไดเร็กทอรีเฉพาะตามสตริงโครงการ โดยพื้นฐานแล้วฉันต้องการทำ: su $USERNAME; cd /home/$USERNAME/$PROJECT; svn update; ปัญหาคือเมื่อฉันทำซู ... มันก็รออยู่ที่นั่น ซึ่งสมเหตุสมผลตั้งแต่ขั้นตอนการดำเนินการผ่านไปจนถึงการเปลี่ยนไปใช้ผู้ใช้ เมื่อฉันออกจากนั้นสิ่งที่เหลือจะดำเนินการ แต่ไม่ได้ผลตามที่ต้องการ ฉันนำหน้า su ไปยังคำสั่ง svn แต่คำสั่งล้มเหลว (กล่าวคือไม่ได้อัพเดต svn ในไดเร็กทอรีที่ต้องการ) ฉันจะเขียนสคริปต์ที่อนุญาตให้ผู้ใช้สลับผู้ใช้และเรียกใช้ svn (เหนือสิ่งอื่นใด) ได้อย่างไร

12
บน EC2: ไม่พบคำสั่ง sudo node แต่โหนดที่ไม่มี sudo ก็โอเค
ฉันเพิ่งติดตั้ง nodejs บนอินสแตนซ์ไมโคร EC2 ใหม่ ฉันติดตั้งตามปกติ, ./configure -> make -> sudo ทำการติดตั้ง ปัญหา:เมื่อฉันเรียกใช้ "node" ภายใต้ ec2-user มันจะทำงานได้อย่างสมบูรณ์แบบ เมื่อฉันเรียกใช้ "sudo node" มันล้มเหลว ฉันพบว่าโหนดอยู่ใน: [ec2-user@XXXX ~]$ whereis node node: /usr/local/bin/node /usr/local/lib/node และเส้นทางปัจจุบันคือ [ec2-user@XXXX ~]$ echo $PATH /usr/local/bin:/bin:/usr/bin:/opt/aws/bin:/home/ec2-user/bin แต่เส้นทาง sudo คือ [root@ip-10-112-222-32 ~]# echo $PATH /usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/root/bin จากนั้นฉันพยายามแก้ไขเส้นทางรูทเพื่อรวมพา ธ ไปยังโหนดดังนั้น "โหนด" จึงทำงานเมื่อฉันเข้าสู่ระบบในฐานะรูท - แต่ก็ยังใช้ไม่ได้เมื่อฉันเข้าสู่ระบบในฐานะผู้ใช้ …
120 node.js  bash  amazon-ec2  sudo 

12
ฉันจะแก้ไข / etc / sudoers จากสคริปต์ได้อย่างไร
ฉันต้องการแก้ไข/etc/sudoersจากสคริปต์เพื่อเพิ่ม / ลบสิ่งต่างๆจากรายการสีขาว สมมติว่าฉันมีคำสั่งที่ใช้กับไฟล์ปกติฉันจะนำไปใช้กับมันได้/etc/sudoersอย่างไร? ฉันสามารถคัดลอกและแก้ไขแล้วvisudoแทนที่ต้นฉบับด้วยสำเนาที่แก้ไขได้หรือไม่ โดยให้สคริปต์ของฉันเองใน$EDITOR? หรือฉันสามารถใช้ล็อคเดียวกันและcp? คำถามนี้เกี่ยวกับปัญหาที่อาจเกิดขึ้นมากกว่าแค่การค้นหาสิ่งที่ใช้ได้ผล
116 linux  shell  sudo 

6
เป็นที่ยอมรับและปลอดภัยในการรันการติดตั้ง pip ภายใต้ sudo หรือไม่
ฉันเริ่มใช้ Mac เพื่อติดตั้งแพ็คเกจ Python ในแบบเดียวกับที่ทำกับ Windows PC ในที่ทำงาน อย่างไรก็ตามใน Mac ของฉันฉันพบข้อผิดพลาดที่ถูกปฏิเสธการอนุญาตบ่อยครั้งขณะเขียนลงในไฟล์บันทึกหรือแพ็คเกจไซต์ ดังนั้นฉันจึงคิดที่จะทำงานpip install <package>ภายใต้sudoแต่การใช้ sudo ที่ปลอดภัย / ยอมรับได้หรือไม่โดยพิจารณาว่าฉันแค่ต้องการติดตั้งสิ่งนี้ในบัญชีผู้ใช้ปัจจุบันของฉัน ตัวอย่างการย้อนกลับจากข้อผิดพลาด I / O ของไฟล์บันทึก: Command /usr/bin/python -c "import setuptools;__file__='/Users/markwalker/build/pycrypto/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /var/folders/tq/hy1fz_4j27v6rstzzw4vymnr0000gp/T/pip-k6f2FU-record/install-record.txt failed with error code 1 in /Users/markwalker/build/pycrypto Storing complete log in /Users/markwalker/Library/Logs/pip.log Traceback (most recent …
115 python  macos  pip  sudo 

5
เปิดไฟล์ผ่าน SSH และ Sudo ด้วย Emacs
ฉันต้องการเปิดไฟล์ภายใน Emacs ซึ่งตั้งอยู่บนเซิร์ฟเวอร์ระยะไกลโดยมีอำนาจ sudo บนเซิร์ฟเวอร์ ฉันสามารถเปิดไฟล์ในเครื่องด้วย sudo ผ่าน Tramp ดังนี้: C-x C-f /sudo::/home/user/file แต่ฉันต้องการใช้ sudo บนเซิร์ฟเวอร์: C-x C-f /sudo::user@server/home/user/file แต่สิ่งนี้ทำให้ฉันมีอำนาจ sudo บนเครื่องท้องถิ่นของฉันมันขอรหัสผ่าน sudo ของฉันบนเครื่องท้องถิ่น มีวิธีใช้ sudo บนเซิร์ฟเวอร์หรือไม่? BTW: Emacs ไม่ได้ติดตั้งบนเซิร์ฟเวอร์
114 emacs  ssh  sudo  tramp 

7
ระบุผู้ใช้ในสคริปต์ Bash ที่เรียกโดย sudo
หากฉันสร้างสคริปต์/root/bin/whoami.shที่มี: #!/bin/bash whoami และสคริปต์นี้ถูกเรียกโดยผู้ใช้ที่มีการกำหนดค่า sudo อย่างเหมาะสมมันจะระบุ root มีวิธีที่รวดเร็วในการรับผู้ใช้จริงในสคริปต์หรือไม่หรือฉันจะต้องใช้พารามิเตอร์ที่ส่งผ่านชื่อผู้ใช้นี้
108 linux  bash  sudo 

2
www-data การอนุญาต?
ดังนั้นฉันจึงมีไดเร็กทอรีใน / var / www (เรียกว่าเค้ก) และฉันต้องอนุญาตให้ www-data เขียนถึงมัน แต่ฉันก็ต้องการเขียนมันด้วย (โดยไม่ต้องใช้ sudo) ฉันกลัวที่จะเปลี่ยนสิทธิ์เป็น 777 ในกรณีที่ผู้ใช้รายอื่นในเครื่องของฉัน (หรือแฮ็กเกอร์) พยายามแก้ไขไฟล์ในไดเร็กทอรีนั้น ฉันจะอนุญาตเฉพาะการเข้าถึงสำหรับตัวเองและข้อมูล www ของ Apache ได้อย่างไร
108 apache  permissions  sudo 

4
อะไรคือความเสี่ยงในการเรียกใช้ 'sudo pip'
บางครั้งฉันพบความคิดเห็นหรือการตอบสนองที่ระบุอย่างชัดเจนว่าการทำงานpipภายใต้sudoนั้น "ผิด" หรือ "ไม่ดี" แต่มีหลายกรณี (รวมถึงวิธีการตั้งค่าเครื่องมือต่างๆ) ซึ่งง่ายกว่ามากหรือแม้กระทั่งจำเป็น วิ่งไปทางนั้น อะไรคือความเสี่ยงที่เกี่ยวข้องกับการทำงานpipภายใต้sudo? โปรดทราบว่านี่ไม่ใช่คำถามเดียวกับคำถามนี้ซึ่งแม้จะมีชื่อเรื่อง แต่ก็ไม่มีข้อมูลเกี่ยวกับความเสี่ยง นี่ไม่ใช่คำถามเกี่ยวกับวิธีหลีกเลี่ยงการใช้sudoแต่เกี่ยวกับสาเหตุที่เราต้องการโดยเฉพาะ
99 python  security  pip  sudo 

8
ผู้แต่ง: file_put_contents (./ composer.json): ล้มเหลวในการเปิดสตรีม: การอนุญาตถูกปฏิเสธ
ฉันกำลังพยายามติดตั้งPrestissimoไปยังเซิร์ฟเวอร์ Ubuntu 16.04 แต่นั่นทำให้เกิดข้อผิดพลาด: $ composer global require "hirak/prestissimo:^0.3" Changed current directory to /home/kramer65/.composer [ErrorException] file_put_contents(./composer.json): failed to open stream: Permission denied require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--] [<packages>]... ฉันลงชื่อเข้าใช้ในฐานะผู้ใช้kramer65ดังนั้นฉันจึงไม่รู้ว่าทำไมจึงไม่สามารถเขียนลงในโฟลเดอร์บ้านได้ ปฏิกิริยาปกติของฉันต่อ a permission deniedคือการใช้sudoแต่ผู้แต่งมักจะพูดว่า: อย่าเรียกใช้ Composer ในฐานะผู้ใช้ root / super! …

9
คุณจะค้นหาผู้ใช้ดั้งเดิมผ่านคำสั่ง sudo และ su หลายคำสั่งได้อย่างไร
เมื่อเรียกใช้สคริปต์ผ่าน sudo หรือ su ฉันต้องการรับผู้ใช้ดั้งเดิม นี้ควรจะเกิดขึ้นโดยไม่คำนึงถึงหลาย ๆsudoหรือsuทำงานภายในของแต่ละอื่น ๆ sudo su -และโดยเฉพาะ
93 linux  bash  unix  sudo  su 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.