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

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

5
ผู้ใช้ linux สามารถเปลี่ยนรหัสผ่านโดยไม่ทราบรหัสผ่านปัจจุบันได้หรือไม่?
ฉันกำลังตั้งค่าubuntuกล่องสองสามกล่องและใช้ opscode chefเป็นเครื่องมือกำหนดค่า มันจะค่อนข้างง่ายในการติดตั้งกุญแจสาธารณะสำหรับผู้ใช้แต่ละคนในเซิร์ฟเวอร์เหล่านี้และปิดใช้งานการตรวจสอบรหัสผ่าน อย่างไรก็ตามผู้ใช้ควรมีsudoสิทธิ์พิเศษด้วยซึ่งโดยปกติแล้วจะต้องใช้รหัสผ่าน ถ้าผมต้องการที่จะใช้กุญแจสาธารณะของผู้ใช้เป็นวิธีการของการจัดการการเข้าถึงและช่วยให้ผู้ใช้sudoสิทธิหมายความว่าฉันยังควรตั้งค่าผู้ใช้ที่มีNOPASSWD: ALLในvisduoหรือมีวิธีที่ผู้ใช้สามารถเปลี่ยนรหัสผ่านของตัวเองของพวกเขาหากพวกเขา มีการตรวจสอบคีย์สาธารณะเท่านั้น
25 ubuntu  ssh  users  sudo  password 

3
sudo ตั้งใจจะนำไปใช้อย่างไร?
ฉันเคยลองกำหนดค่าsudoมาก่อน แต่ฉันไม่ได้โชคดีเกินไป แตกต่างจากsu -l -c "x"อย่างไร ดูเหมือนว่าผ่านไฟล์การกำหนดค่าหนึ่งสามารถทำได้เพื่อให้ผู้ใช้สามารถเข้าถึงคำสั่งบางอย่างและอื่น ๆ ฉันมักจะคิดว่าsudoเป็นวิธีการหนึ่งซับคำสั่งเป็นผู้ใช้หรือกลุ่มอื่น เนื่องจาก distros เช่น Ubuntu และ Mint ทำให้ง่ายขึ้นโดยการให้ผู้ใช้หลักเข้าถึง root ผ่านรหัสผ่านได้ง่ายฉันไม่แน่ใจว่าการใช้งานที่ตั้งใจไว้คืออะไร ฉันจะเพิ่มผู้ใช้ในไฟล์ sudo ได้อย่างไรโดยให้สิทธิ์ผู้ใช้ในการรันคำสั่งบางอย่างที่รูทเท่านั้น ฉันไม่ต้องการเปิดช่องโหว่ใด ๆ
24 sudo  root 

3
วิธีการส่งออกตัวแปรสำหรับใช้กับ sudo
บน Slackware การใช้sbopkgอนุญาตให้สร้างแพ็คเกจจากซอร์ส Repos ไม่ใหญ่เท่า Debian แต่ก็ดี ซอฟต์แวร์บางตัวสามารถใช้ตัวแปรสภาพแวดล้อมเช่นบน VICE c64 emulator หากFFMPEGตั้งค่าตัวแปร เป็นyesมันจะเปิดใช้งานffmpegการบันทึกอีมูเลเตอร์ ฉันพยายามใช้ $ export FFMPEG=yes; sudo sbopkg -B -i vice แต่ffmpegถูกปิดใช้งาน แต่ฉันต้องใช้ $ su - $ export FFMPEG=yes $ sbopkg -B -i vice ซึ่งใช้งานได้ วิธีการใช้ตัวแปรสภาพแวดล้อมด้วยsudo?

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

3
`/ etc / sudoers` - ระบุ` env_keep` สำหรับคำสั่งเดียวเท่านั้น?
มีวิธีการระบุที่sudoควรรักษาตัวแปรสภาพแวดล้อมบางอย่างสำหรับคำสั่งที่ระบุเท่านั้นหรือไม่ สำหรับวัตถุประสงค์บางอย่างฉันต้องการ$HOMEenv ของฉัน ตัวแปรเก็บรักษาไว้เมื่อฉันรันคำสั่งบางอย่าง สำหรับวัตถุประสงค์อื่นและคำสั่งอื่น ๆ ฉันต้องการให้รีเซ็ต สามารถทำได้ด้วย/etc/sudoersหรือไม่ แก้ไข: ขอบคุณสำหรับคำตอบ ฉันสงสัยว่าฉันอาจถามคำถามติดตามซึ่งก็คือ "ทำไมจึงไม่ได้ผล?" ในตัวอย่างที่ผมกำลังพยายามที่จะได้รับการทำงานที่ผมต้องการที่จะอ่านของฉันsudo nano $HOME/.nanorcถ้าฉันใช้สิ่งนี้: Defaults:simon env_keep=HOME มันทำงานได้อย่างสมบูรณ์แบบ ถ้าฉันใช้สิ่งนี้: Defaults!/bin/nano env_keep=HOME หรือสิ่งนี้: Cmnd_Alias NANO = /usr/bin/nano,/bin/nano,/bin/rnano Defaults!NANO env_keep=HOME มันไม่ทำงานเลย ข้อเสนอแนะใด ๆ เกี่ยวกับสาเหตุที่? (ฉันใช้การทดสอบเดเบียน, btw.) (หมายเหตุ: ผมไม่คิดว่ามันnanoเฉพาะครับ - ฉันสามารถทำซ้ำพฤติกรรมกับสคริปต์ทุบตีหนึ่งบรรทัดที่เพียงechos $HOME)
23 sudo 

3
สคริปต์ใดที่ทำให้ผู้ใช้ทั่วไปสามารถใช้เนมสเปซเครือข่ายได้
ฉันมีสถาปัตยกรรมที่ใช้เนมสเปซเครือข่าย (netns) ฉันต้องการอนุญาตให้ผู้ใช้ทั่วไปทำการดำเนินการบางอย่างในเน็ตเหล่านี้ ฉันสามารถเขียนสคริปต์netns-exec.shซึ่งได้รับแรงบันดาลใจจากโพสต์นี้ดำเนินการโดยsudoมี: ip netns exec $1 su $USER -c "$2" และเพิ่มลงในไฟล์ sudoer ของฉัน: user ALL=(ALL) /path/to/netns-exec.sh แต่ฉันคิดว่ามันน่าเกลียดมากจนฉันสามารถฝันร้ายได้โดยสิ้นเชิง มีวิธีแก้ปัญหาที่ดีกว่าเพื่อให้ผู้ใช้ทั่วไปสามารถใช้เนมสเปซหรือไม่ เป็นไปได้ไหมที่จะนำผู้ใช้ไปสู่กลุ่มที่มีประโยชน์บางกลุ่ม? ฉันค้นหามัน แต่ไม่พบอะไรเลย

4
ทำไม sudo ไม่สนใจชื่อแทน
ฉันใช้ Ubuntu 10.04 และฉันใช้upstartสำหรับการจัดการภูต แอปพลิเคชันองค์กรของฉันทำงานเป็น daemon และต้องทำงานเป็น root เนื่องจากสิทธิ์ต่างๆ เช่น: sudo start my-application-long-ID sudo stop my-application-long-ID etc ฉันอยากจะแนะนำการaliasย่อคำสั่งเหล่านี้เป็นสิ่งที่ต้องการ: alias startapp='sudo start my-application-long-ID' และเรียกใช้เป็นstartappและใช้งานได้ แต่ฉันไม่ต้องการมี sudo ในนามแฝง alias startapp='start my-application-long-ID' เมื่อไม่ได้ทำงานโดยใช้กลับsudo startappsudo: startapp: command not found อย่างไรก็ตามเมื่อฉันเพิ่มนามแฝง: alias sudo='sudo ' sudo startapp ตอนนี้ใช้ได้ แต่ฉันยังสงสัยว่าทำไม sudo ไม่สนใจชื่อแทน
22 shell  sudo  alias 

1
ความแตกต่างระหว่าง sudo su - และ sudo su -
เมื่อฉันทำงานกับเครื่อง RHEL ของฉันฉันใช้sudo su -เพื่อเปลี่ยนเป็น root วันหนึ่ง typo หมายความว่าฉันพิมพ์sudo su --แทน - มันดูเหมือนว่าฉันทุกอย่างที่เป็นเช่นเดียวกับยัติภังค์เดียวยกเว้นว่าผมอยู่ในโฟลเดอร์เดียวกันเป็นก่อนที่ผมจะออกคำสั่ง (มียัติภังค์เดียวที่ฉันพบตัวเองใน/root) มีความแตกต่างอื่น ๆ อีกไหม? จะปลอดภัยไหมที่จะใช้สิ่งนี้ในสถานการณ์ที่ฉันรู้ว่าฉันต้องการทำงานในไดเรกทอรีเดียวกัน
22 sudo  su 

4
ทำไม sudo ทำงานบน Linux แต่ไม่ใช่ Android?
ฉันไม่ได้มีโอกาสอ่านมากพอเกี่ยวกับAndroid , Linux หรือ UNIX เพื่อตอบคำถามนี้ด้วยตัวเอง sudoใช้งานได้บนเครื่อง Linux แต่ไม่สามารถใช้งานบน Android ได้จนกว่าคุณจะรูทอุปกรณ์มือถือ (เช่น Samsung GT-N8013) ทำไมอุปกรณ์มือถือจำเป็นต้องรูท แต่ไม่ใช่การติดตั้งลีนุกซ์ทั่วไป? บริบทของคำถามของฉันเกี่ยวข้องกับ /programming/14019698/adb-shell-sudo-on-windows-7/14019726#14019726 (นอกจากนี้ยังมีวิธีใดบ้างที่โปรแกรมจะขอให้ทำงานrootบน Android เช่นเดียวกับที่คุณมีการเพิ่มสิทธิ์ในการ "เรียกใช้ในฐานะผู้ดูแลระบบ" บน Windows หรือไม่หากคุณคิดว่าคำถามนี้ควรอยู่ในเธรดของตัวเอง หนึ่ง)

6
การใช้งานฟังก์ชั่น Bash Script กับ Sudo
ฉันมีสคริปต์ที่ทำสิ่งต่าง ๆ จำนวนมากซึ่งส่วนใหญ่ไม่ต้องการสิทธิ์พิเศษใด ๆ อย่างไรก็ตามหนึ่งส่วนเฉพาะซึ่งฉันมีอยู่ในฟังก์ชั่นต้องการสิทธิ์รูท ฉันไม่ต้องการให้สคริปต์ทั้งหมดทำงานเป็นรูทและฉันต้องการที่จะสามารถเรียกใช้ฟังก์ชั่นนี้ได้โดยใช้สิทธิ์รูทจากภายในสคริปต์ การขอรหัสผ่านหากจำเป็นไม่ใช่ปัญหาเนื่องจากส่วนใหญ่เป็นแบบโต้ตอบอยู่แล้ว อย่างไรก็ตามเมื่อฉันพยายามใช้sudo functionxฉันจะได้รับ: sudo: functionx: command not found อย่างที่ฉันคาดไว้exportก็ไม่ได้สร้างความแตกต่าง ฉันต้องการที่จะสามารถใช้งานฟังก์ชั่นโดยตรงในสคริปต์แทนที่จะแยกมันออกและดำเนินการเป็นสคริปต์แยกต่างหากด้วยเหตุผลหลายประการ มีวิธีที่ฉันสามารถทำให้ฟังก์ชั่น "มองเห็น" ของฉันไปยัง sudo โดยไม่ต้องแตกไฟล์ค้นหาไดเรกทอรีที่เหมาะสม ฟังก์ชั่นมีความยาวประมาณหนึ่งหน้าและมีหลายสตริง มันยังขึ้นอยู่กับฟังก์ชั่นเมนูที่กำหนดไว้ที่อื่นในสคริปต์หลัก ฉันคาดหวังว่าใครบางคนที่มี sudo ใด ๆ เท่านั้นที่สามารถเรียกใช้ฟังก์ชันได้เนื่องจากหนึ่งในสิ่งที่มันทำคือเปลี่ยนรหัสผ่าน
22 bash  sudo  function 

4
ผู้ใช้นี้ไม่สามารถใช้งานได้ - แต่อนุญาตให้เรียกใช้สคริปต์โดยผู้ใช้รายนี้
ฉันสร้างผู้ใช้พิเศษใน / etc / passwd ด้วย: secure:x:2000:2000:secure:/bin:/usr/sbin/nologin ฉันไม่ต้องการอนุญาตการเข้าสู่ระบบของผู้ใช้รายนี้ (ผ่านทางคอนโซล, ssh, ftp, ไม่ว่าทางใด) เขาเป็นเพียงการเรียกใช้สคริปต์หนึ่งผ่าน: sudo su secure -c '/home/someuser/secure.script' This user is currently not available.แต่มันก็ทำให้ผม วิธีการตั้งค่าเพื่อให้สามารถเรียกใช้สคริปต์ด้วยวิธีนี้ แต่ป้องกันการเข้าสู่ระบบใด ๆ (console, ssh, ftp, ... ) ของผู้ใช้รายนี้เข้าสู่ระบบ? ฉันได้พบว่าเมื่อฉันพิมพ์ในบรรทัดคำสั่งตอบสนองคอมพิวเตอร์ด้วย/usr/sbin/nologinThis account is currently not available.
22 sudo  users  su 

3
ดำเนินการบรรทัดคำสั่งด้วยหนึ่ง sudo
ตัวอย่างเช่นถ้าฉันต้องการสร้างไฟล์และป้อนข้อความในหนึ่งบรรทัดฉันสามารถเปลี่ยนเส้นทางผลลัพธ์ไปยังไฟล์ด้วยการใช้>โอเปอเรเตอร์: echo "something" > /path/foobar แต่ถ้าฉันไม่มีสิทธิ์เข้าถึงโฟลเดอร์/path/และต้องการสิทธิ์ sudo ฉันจะทำคำสั่งนี้ให้เหมือนกับผู้ใช้ปกติที่มีสิทธิ์ sudo ได้อย่างไร ฉันเหนื่อย sudo echo "something" > /path/foobar แต่นั่นไม่ได้ผลเพราะ sudo นับeditแต่เท่านั้น แต่ไม่ใช่สำหรับส่วนที่ถูกต้อง ของ> แน่นอนว่าฉันสามารถรูทก่อนด้วยsudo suหรือใช้teeแทน: echo "something" | sudo tee /path/foobar แต่ฉันต้องการหาวิธีแก้ปัญหาที่ฉันสามารถทำงานกับบรรทัดสุดท้ายแทนผ่าน sudo !! ไม่มีทางที่จะ "รีไซเคิล" บรรทัดสุดท้ายและเพิ่มsudoข้างหน้าใช่ไหม

4
คุณสามารถให้รหัสผ่านหลายบัญชีของบัญชีผู้ใช้ได้หรือไม่
ฉันต้องการกำหนดรหัสผ่าน 2 รหัสให้กับบัญชีเดียว สิ่งที่ฉันอยากรู้คือ 1) เป็นไปได้และ 2) ความหมายของความปลอดภัยคืออะไร เหตุผลที่ฉันต้องการทำเช่นนี้เพราะฉันกำลังยุ่งกับการทดสอบในท้องถิ่นและฉันคิดว่ามันจะสะดวกในบางสถานการณ์ หลังจากการวิจัยบางอย่างฉันพบสิ่งที่เรียกว่าPAMแต่ฉันพยายามค้นหาข้อมูลเกี่ยวกับวิธีการติดตั้ง / การกำหนดค่า ฉันใช้ Ubuntu 12.04
21 sudo  password 

1
จะเพิ่มผู้ใช้ในไฟล์ sudoers ได้อย่างไร?
ฉันมีบัญชีชื่อ Chankey (ผู้ใช้ท้องถิ่น) ฉันต้องใช้คำสั่งบางอย่างเช่นดูไฟล์เงา ฯลฯ ฉันลองใช้คำสั่ง sudo sudo vim / etc / shadow มันพูดว่า: Chankey ไม่ได้อยู่ในไฟล์ sudoers เหตุการณ์นี้จะถูกรายงาน ฉันจะเพิ่มผู้ใช้ Chankey นี้ไปยังไฟล์ sudoers ได้อย่างไร?
21 sudo 

1
ความแตกต่างระหว่างผู้ใช้ sudo และผู้ใช้รูท [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา /etc/sudoersรายชื่อไฟล์ที่ผู้ใช้สามารถทำในสิ่งที่มีsudoคำสั่ง ผู้ใช้รูทสร้างและแก้ไข/etc/sudoersไฟล์ แนวคิดนี้ยากสำหรับฉันที่จะเข้าใจ หากผู้ใช้ทั้งหมดที่มี sudo privilage อยู่ในsudoersกลุ่มผู้ใช้ทั้งหมดจะกลายเป็นรูตได้ด้วยการให้sudo suคำสั่ง แล้วใครคือผู้ใช้รูทจริงและเขาควบคุมพลังของผู้ใช้ในกลุ่ม sudoers อย่างไร กรุณาอธิบายให้ฉัน

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