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

sudo เป็นเครื่องมือที่อนุญาตให้ผู้ใช้เรียกใช้คำสั่งในฐานะผู้ใช้อื่น (โดยปกติคือผู้ใช้รูท)

5
`sudo echo“ bla” >> / etc / sysctl.conf` การอนุญาตถูกปฏิเสธ
คำเตือน: ฉันสวยสามเณรที่ดูแลระบบสิ่ง ฉันพยายามตั้งค่าการส่งต่อพอร์ตในอินสแตนซ์ AWS EC2 สิ่งนี้จะต้องทำในบรรทัดคำสั่งเพราะฉันไม่ต้องการเข้าไปแก้ไขอะไรมันต้องเป็นไปโดยอัตโนมัติ (เป็นส่วนหนึ่งของกระบวนการสร้าง ) sudo echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf ปฏิเสธการอนุญาต สิ่งที่แปลกคือฉันใช้ (ประสบความสำเร็จ) ในการใช้sudoกับทุกคำสั่งที่ต้องการsuสิทธิพิเศษ ถ้าฉันทำsudo suก่อนคำสั่ง (ลองใช้ด้วยมือในsshเซสชัน) มันก็ใช้ได้ เหตุผลเบื้องหลังนี้ โซลูชันที่เป็นไปได้ที่ไม่เกี่ยวข้องsudo suหรือแก้ไขด้วยตนเองหรือไม่
16 ubuntu  ssh  amazon-ec2  sudo 

1
AWS - ลบผู้ใช้ ec2 ออกจากรายการ sudo
ฉันกำลังใช้งานอินสแตนซ์ Amazon ec2 ระดับการผลิตและฉันต้องการปิดสิทธิ์การใช้งานรูทให้กับผู้ใช้ทั้งหมด โดยปกติเมื่อเข้าสู่อินสแตนซ์ในฐานะผู้ใช้ ec2 ผู้ใช้ ec2 จะได้รับสิทธิ์ sudo ทันทีซึ่งฉันพยายามจะทำเพื่อความปลอดภัย ฉันสามารถตั้งรหัสผ่านใหม่สำหรับผู้ใช้รูทได้และฉันก็เข้าไปใน / etc / sudoers เพื่อลองและลบผู้ใช้ ec2 ออกจากสิทธิ์ sudo แต่ผู้ใช้นั้นไม่ได้อยู่ในไฟล์ ไม่มีใครรู้ว่าฉันสามารถลบผู้ใช้ ec2 จากสิทธิ์ sudo บนอินสแตนซ์ Amazon ec2 ที่ใช้การติดตั้ง linux เริ่มต้นได้หรือไม่

2
sudo ไม่ทำงานกับคำสั่งบางอย่าง
ฉันมีปัญหาค่อนข้างแปลกsudoเมื่อใช้ Debian 8 ผู้ใช้ไม่สามารถดำเนินการคำสั่งบางอย่าง/etc/sudoers.dได้ ฉันใช้ Chef เพื่อแจกจ่ายการกำหนดค่าดังนั้นไฟล์ทั้งหมดจะถูกสร้างขึ้นโดยอัตโนมัติ ตัวอย่าง: การกำหนดค่านี้ทำงานได้ดี root@server:~# cat /etc/sudoers.d/nginx # This file is managed by Chef. # Do NOT modify this file directly. user ALL=(root) NOPASSWD:/usr/sbin/nginx และสิ่งนี้ล้มเหลว: root@server:~# cat /etc/sudoers.d/update-rc.d # This file is managed by Chef. # Do NOT modify this file directly. user ALL=(root) NOPASSWD:/usr/sbin/update-rc.d …
15 linux  debian  sudo  rbac 

3
ตรวจสอบสิทธิ์ผู้ดูแลระบบภายในสคริปต์ไพ ธ อน
ฉันจะตรวจสอบว่าสคริปต์ python ของฉันทำงานภายใต้สิทธิ์ผู้ดูแลระบบ (sudo) ภายใต้ระบบปฏิบัติการ BSD ได้อย่างไร จำเป็นต้องแสดงคำเตือนที่ใช้งานง่ายเพื่อให้สามารถดำเนินการได้โดยไม่มีสิทธิ์ของผู้ดูแลระบบ
15 python  sudo 

8
Linux - ใช้“ su -” แต่เก็บไดเรกทอรีปัจจุบัน
เมื่อฉันsu -จะไปรูทไดเร็กทอรีปัจจุบันของฉันถูกตั้งเป็นรูทโฮม มีอยู่แล้วเพื่อเก็บไดเรกทอรีปัจจุบันที่ฉันชอบsudo -sมาก หรือเป็นคำตอบให้ใช้ sudo?
14 linux  unix  sudo  su 

4
ให้สิทธิ์เข้าถึงชุดคำสั่งแก่ผู้ใช้ที่ไม่ใช่รูทโดยไม่ต้องใช้ sudo
ฉันต้องการให้ผู้ใช้ที่ไม่ใช่รูทบนเครื่องของฉันมีผู้ใช้ dns-manager บทบาทเดียวของเขาคือเรียกใช้คำสั่ง BIND ทั้งหมด (rndc, dnssec-keygen) เป็นต้น ตอนนี้ทุกครั้งที่เขาต้องเรียกใช้คำสั่งเขาพิมพ์ sudo rndc reload มีวิธีที่ฉันสามารถกำจัด sudo นี้ แต่เฉพาะในชุดคำสั่งเฉพาะ (และเฉพาะสำหรับผู้จัดการ DNS)?
13 linux  sudo 

3
“ sudo su -” ถือว่าเป็นวิธีที่ไม่ดีหรือไม่?
พื้นหลัง ฉันรู้ว่าความแตกต่างระหว่างsu -, sudo su -และsudo <command>: su - - สลับผู้ใช้เป็นรูทต้องใช้รหัสผ่านรูท sudo su - - สลับผู้ใช้เป็นรูทต้องการเพียงรหัสผ่านของผู้ใช้ปัจจุบัน sudo <command>- ให้สิทธิ์การเข้าถึงรูตสำหรับคำสั่งเฉพาะ ต้องใช้รหัสผ่านของผู้ใช้ปัจจุบันเท่านั้น คำถามของฉันเกี่ยวกับการใช้หรือไม่sudo su -เป็นวิธีปฏิบัติที่ปลอดภัยในสภาพแวดล้อมการผลิต ความคิดบางอย่าง: ดูเหมือนว่าการอนุญาตให้sudo su -มีความเสี่ยงด้านความปลอดภัยโดยการเข้าถึงบัญชีรูทขึ้นอยู่กับรหัสผ่านของผู้ใช้แต่ละคน แน่นอนว่าสิ่งนี้อาจลดลงได้ด้วยการบังคับใช้นโยบายรหัสผ่านที่เข้มงวด ฉันไม่คิดว่าsu -จะดีไปกว่านี้เพราะต้องการให้ผู้ดูแลระบบแชร์รหัสผ่านรูทจริง การอนุญาตให้ผู้ใช้สลับไปยังบัญชีรูททั้งหมดทำให้ยากต่อการติดตามว่าใครเป็นผู้เปลี่ยนแปลงระบบ ฉันเคยเห็นเคสในงานประจำวันของฉันซึ่งมีผู้ใช้หลายคนsudo su -เข้าถึง สิ่งแรกที่ผู้ใช้ทำเมื่อลงชื่อเข้าใช้ระบบจะทำงานsudo su -ก่อนเริ่มทำงาน จากนั้นวันหนึ่งมีบางอย่างหยุดพักและไม่มีการตรวจสอบย้อนกลับว่าใครเป็นคนขับrm -rf *ผิดไดเรกทอรี คำถาม เมื่อพิจารณาจากข้อกังวลข้างต้นเป็นความคิดที่ดีหรือไม่ที่จะอนุญาตให้ผู้ใช้ใช้งานsudo su -หรือแม้แต่ใช้งานsu -เลย? มีเหตุผลใดบ้างที่ผู้ดูแลระบบจะกำหนดค่าบัญชีผู้ใช้สำหรับsudo su -หรือsu -แทนsudo <command>(นอกเหนือจากความเกียจคร้าน)? …
13 linux  unix  sudo  su 


2
อนุญาตคำสั่ง sudo ที่ซับซ้อนบน Debian Linux
ฉันต้องอนุญาตคำสั่งเฉพาะบนกล่อง Debian Linux สำหรับผู้ใช้คนเดียว ฉันได้ลองใน/etc/sudoersไฟล์แล้ว: # User privilege specification zabbix ALL=NOPASSWD: /usr/bin/apt-get --print-uris -qq -y upgrade 2>/dev/null |awk '{print $2}' | wc | awk '{print $1}' สิ่งนี้ไม่ทำงานตามที่คาดไว้ หากฉันเรียกใช้คำสั่งในฐานะผู้ใช้ zabbix ด้วย sudo มันจะถามรหัสผ่าน (แม้ว่าฉันจะระบุNOPASSWDตัวเลือก) อย่างไรก็ตามการทำงานนี้: # User privilege specification zabbix ALL=NOPASSWD: /usr/bin/apt-get แต่มีข้อเสียเปรียบที่คำสั่งย่อยทั้งหมดapt-getเป็น allowd มีวิธีที่ฉันสามารถแก้ไขปัญหานี้เพื่ออนุญาตคำสั่งเฉพาะเท่านั้นหรือไม่
13 linux  debian  sudo 

2
อะไรคือความแตกต่างระหว่าง "sudo -i" และ "sudo bash -l"
มีคำถามล่าสุดเกี่ยวกับ sysadmins หลายตัวที่ทำงานเป็นรูทและsudo bash -lถูกอ้างอิง ผมค้นหานี้ใน google และ SE แต่ผมไม่เข้าใจความแตกต่างระหว่างและsudo bash -lsudo -i จากหน้า man สำหรับ bash และ sudo ดูเหมือนว่าความแตกต่างอาจเป็นว่าsudo bash -l~ / .bash_profile, ~ / .bash_login และ ~ / .profile และ ~ / .bash_logout ของผู้ใช้ root แต่จากการทดสอบตัวเองดูเหมือนว่า มันรัน. bashrc ของผู้ใช้ปกติและไม่ใช่รูทหนึ่ง ฉันอาจเข้าใจผิดว่าผู้ใช้คนใดที่นิพจน์ ~ กำลังอ้างถึงในหน้าคู่มือ ชี้แจงถึงความแตกต่างและสถานการณ์การใช้งานจะได้รับการชื่นชม
13 linux  bash  sudo  root 

3
ฉันจะใช้ sudo เพื่อตรวจสอบว่ามีไฟล์อยู่ได้อย่างไร?
ฉันต้องการตรวจสอบว่ามีไฟล์อยู่หรือไม่ [ -f /path/to/file/ ] อย่างไรก็ตามฉันใช้คำสั่งนี้ในฐานะผู้ใช้ทั่วไปและไฟล์เป็นของ root ฉันจะใช้ sudo เพื่อทำสิ่งนี้ได้อย่างไร sudo [ -f /path/to/file/ ] ไม่ทำงาน, ไม่เป็นผล.
13 linux  bash  sudo 

4
การเริ่มต้นสคริปต์เป็นผู้ใช้อื่น
ฉันได้สร้างสคริปต์ใน /etc/init.d/ ซึ่งจะต้องเรียกใช้สคริปต์อื่น ๆ จากผู้ใช้ (ไม่ใช่ผู้ใช้ที่มีสิทธิ์รูท) จากโฮมไดเรกทอรีของพวกเขาราวกับว่าพวกเขาเริ่มต้นมัน ฉันเปิดใช้งานสคริปต์เหล่านี้ด้วย: sudo -b -u <username> <script_of_a_particular_user> และมันใช้งานได้ แต่สำหรับสคริปต์ของผู้ใช้ทุกคนที่ยังคงทำงานอยู่ (ตัวอย่างเช่นสุนัขเฝ้าบ้านบางคน) ฉันเห็นกระบวนการ sudo หลักที่เกี่ยวข้องยังมีชีวิตอยู่และทำงานเป็นรูท สิ่งนี้สร้างความยุ่งเหยิงในรายการกระบวนการที่ใช้งานอยู่ ดังนั้นคำถามของฉันคือ: ฉันจะเปิดตัว (แยก) สคริปต์อื่นจากสคริปต์ทุบตีที่มีอยู่ในฐานะผู้ใช้รายอื่นและปล่อยให้เป็นกระบวนการกำพร้า (ยืนอยู่คนเดียว) ได้อย่างไร คำอธิบายโดยละเอียดเพิ่มเติม: โดยทั่วไปฉันพยายามให้ผู้ใช้รายอื่นบนเครื่องมีวิธีการรันสิ่งต่าง ๆ เมื่อระบบเริ่มต้นหรือปิดระบบโดยการเรียกใช้ไฟล์ปฏิบัติการที่พบในไดเรกทอรีย่อยตามลำดับที่พบในไดเรกทอรีบ้านของพวกเขา เนื่องจากฉันไม่พบวิธีอื่นใดที่ฉันเขียนสคริปต์ทุบตีของฉันที่ทำอย่างนั้นและฉันได้กำหนดค่าเป็นสคริปต์บริการ (โดยทำตามตัวอย่างโครงกระดูก) ใน /etc/init.d/ ดังนั้นเมื่อมันทำงาน ด้วยอาร์กิวเมนต์เริ่มต้นมันจะเปิดตัวทุกอย่างจากไดเรกทอรีเริ่มต้นขึ้นและเมื่อมันถูกเรียกใช้ด้วยอาร์กิวเมนต์หยุดมันจะเปิดตัวทุกอย่างจากไดเรกทอรี. shutDown ของผู้ใช้ทั้งหมดเช่นเดียวกับพวกเขา หรือฉันก็สนใจถ้าฉันสามารถใช้วิธีแก้ปัญหาที่มีอยู่เพื่อแก้ปัญหานี้ได้ อัปเดต ฉันดูรอบ ๆ แล้วฉันพบคำถามนี้: /unix/22478/detach-a-daemon-using-sudo คำตอบที่ยอมรับได้มีการใช้: ใช้sudo -u user sh -c …
12 linux  debian  bash  sudo  init.d 

4
ทดสอบว่าผู้ใช้มีสิทธิ์ sudo โดยไม่ต้องป้อนข้อมูลผู้ใช้หรือไม่
ฉันมีสคริปต์เชลล์โลคัลที่ทำการทดสอบจำนวนหนึ่งบนรีโมตโฮสต์ก่อนส่งมอบส่วนของข้อมูล หนึ่งในการทดสอบเหล่านี้คือการที่ผู้ใช้มีสิทธิ์ sudo ตรวจสอบเพียงแค่sudo -vนี้ต้องให้ผู้ใช้ป้อนรหัสผ่านของพวกเขา นอกจากนี้โฮสต์ระยะไกลดูเหมือนจะหมดเวลาทันที sudo ดังนั้นจึงจำเป็นต้องป้อนรหัสผ่านในการเชื่อมต่อใหม่ทุกครั้งและนี่คือสิ่งที่ฉันไม่ได้รับอนุญาตให้เปลี่ยน (เป็นนโยบาย) แน่นอนว่าฉันสามารถทดสอบได้ว่าผู้ใช้เป็นส่วนหนึ่งของกลุ่มบางกลุ่มหรือไม่ แต่จากนั้นจะไม่เป็นที่รังเกียจต่อการกำหนดค่าโฮสต์ระยะไกลดังนั้นฉันจึงหวังว่าจะมีวิธีการตรวจสอบที่ไม่จำเป็นต้องถือว่ากลุ่มผู้ใช้เช่นกัน ไม่ต้องการให้ผู้ใช้ป้อนข้อมูล? ขอบคุณ! UPDATE: เพื่อสะท้อนความคิดเห็นของฉันฉันต้องการทดสอบว่าผู้ใช้สามารถ sudo ได้หรือไม่โดยไม่ต้องมีการโต้ตอบกับผู้ใช้สำหรับการทดสอบนั้น
12 ssh  sudo 

3
sudoers เพื่อรันคำสั่งในฐานะผู้ใช้รายอื่น
ฉันต้องการอนุญาตให้หนึ่งในผู้ใช้ของฉันรันคำสั่งเป็นผู้ใช้อื่นบนเซิร์ฟเวอร์ Ubuntu Lucid ของฉัน ฉันกำลังดิ้นรนกับการหาไวยากรณ์สำหรับไฟล์ sudoers เพื่อทำเช่นนี้ สมมติว่าฉันกำลังเชื่อมต่อกับกล่องโดยผู้ใช้ชื่อ 'ludo' และฉันต้องการให้ ludo สามารถรันคำสั่งในฐานะผู้ใช้ 'django' เช่น: sudo -u django ฉันต้องการที่จะสามารถดำเนินการ / คำสั่งใด ๆ / เป็นผู้ใช้ django และโดยไม่ต้องแจ้งรหัสผ่าน ตัวอย่างทั้งหมดที่ฉันค้นหามีไว้สำหรับชุดย่อยที่ถูก จำกัด ฉันพยายามทำบางอย่าง แต่มีข้อผิดพลาดทางไวยากรณ์เมื่อออกจาก visudo ดังนั้นฉันจึงบรรจุขวดลงไป ขอบคุณ :)
12 ubuntu  sudo 

8
ใช้ su ภายในของเชลล์สคริปต์
ฉันกำลังทำให้กระบวนการปรับใช้เป็นไปโดยอัตโนมัติและฉันต้องการเรียกไฟล์. sh หนึ่งไฟล์บนเครื่องของฉันให้ฉันสร้างและอัปโหลด. zip ไปยังเซิร์ฟเวอร์แล้วทำสิ่งต่าง ๆ บนเซิร์ฟเวอร์ หนึ่งในสิ่งที่ฉันต้องทำคือให้ฉันต้องรูต ดังนั้นสิ่งที่ฉันต้องการทำคือ: ssh user@172.1.1.101 <<END_SCRIPT su - #password... somehow... #stop jboss service server_instance stop #a bunch of stuff here #all done! exit END_SCRIPT เป็นไปได้ไหม
12 ssh  bash  sudo  su 

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