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

su คือยูทิลิตีเพื่อเรียกใช้เชลล์หรือคำสั่งอื่น ๆ ในฐานะผู้ใช้รายอื่น (รูทตามค่าเริ่มต้น)

7
กลุ่ม "ล้อ" ได้ชื่อมาจากไหน?
โดยทั่วไปwheelกลุ่มในคอมพิวเตอร์ * ระวังจะหมายถึงกลุ่มที่มีการเข้าถึงรูทแบบคล้าย ๆ กัน ฉันได้ยินมาว่าในบางระบบ * มันเป็นกลุ่มของผู้ใช้ที่มีสิทธิ์รันsuแต่บน Linux ที่ดูเหมือนว่าจะเป็นใครก็ได้ (แม้ว่าคุณจะต้องใช้รหัสผ่านรูทตามธรรมชาติ) ในการแจกแจงลินุกซ์ฉันใช้มันดูเหมือนว่าจะเป็นกลุ่มที่โดยค่าเริ่มต้นมีสิทธิ์ที่จะใช้sudo; มีรายการsudoersสำหรับพวกเขา: %wheel ALL=(ALL) ALL แต่นั่นคือทั้งหมดของวงสัมผัส; คำถามที่เกิดขึ้นจริงของฉันคือทำไมกลุ่มนี้เรียกว่าwheel ? ฉันเคยได้ยินคำอธิบายเบ็ดเตล็ดมาก่อน แต่ไม่ทราบว่ามีสิ่งใดถูกต้องหรือไม่ ไม่มีใครรู้ประวัติที่แท้จริงของคำศัพท์นี้หรือไม่?
220 sudo  history  group  su 


8
วิธีใดที่ปลอดภัยที่สุดในการรับสิทธิ์รูท: sudo, su หรือ login
ฉันต้องการให้บัญชีรูทมีความปลอดภัยแม้ว่าผู้ใช้ที่ไม่มีสิทธิ์ของฉันจะถูกบุกรุก บน Ubuntu คุณสามารถใช้ sudo ได้เฉพาะ "เหตุผลด้านความปลอดภัย" เท่านั้น อย่างไรก็ตามฉันไม่แน่ใจว่ามันปลอดภัยกว่าแค่ใช้ล็อกอินบนคอนโซลโหมดข้อความ มีหลายสิ่งหลายอย่างที่อาจผิดปกติได้หากผู้โจมตีสามารถเรียกใช้รหัสในฐานะผู้ใช้ปกติของฉันได้ ตัวอย่างเช่นการเพิ่มชื่อแทนการเพิ่มสิ่งต่างๆลงใน PATH ของฉันการตั้งค่าคีย์ล็อกเกอร์ LD_PRELOAD และ X11 เพื่อพูดถึงบางอย่าง ข้อได้เปรียบเดียวที่ฉันเห็นคือหมดเวลาดังนั้นฉันจึงไม่ลืมที่จะออกจากระบบ ฉันมีข้อสงสัยเหมือนกันเกี่ยวกับ su แต่มันไม่มีเวลา จำกัด การดำเนินการบางอย่าง (โดยเฉพาะการเปลี่ยนเส้นทาง IO) มีความมั่นใจมากขึ้นกับ su แต่การรักษาความปลอดภัยที่ชาญฉลาดน่าจะแย่กว่านี้ การลงชื่อเข้าใช้บนคอนโซลโหมดข้อความนั้นปลอดภัยที่สุด เนื่องจากมันเริ่มต้นโดย init หากผู้โจมตีสามารถควบคุม PATH หรือ LD_PRELOAD ได้ กิจกรรม keypress ไม่สามารถดักจับโดยโปรแกรมที่ทำงานบน X ฉันไม่รู้ว่าโปรแกรมที่ทำงานบน X สามารถดักจับ [ctrl] + [alt] + [f1] (และเปิดหน้าต่างเต็มหน้าจอที่ดูเหมือนคอนโซล) หรือ …
120 security  sudo  login  su  privileges 

8
ความต้องการคำสั่ง 'fakeroot' ใน linux คืออะไร
ทำไมเราต้องมีfakerootคำสั่งเลย? เราไม่สามารถเพียงแค่ใช้sudoหรือsuคำสั่ง? หน้าคนพูดว่า: fakeroot - รันคำสั่งในสภาพแวดล้อมที่ปลอมแปลงสิทธิ์ของรูทสำหรับการจัดการไฟล์ About.com พูดว่า: ให้สภาพแวดล้อมของรูทปลอม แพคเกจนี้มีวัตถุประสงค์เพื่อเปิดใช้งานบางอย่างเช่น: dpkg-buildpackage -rfakerootเพื่อลบความต้องการที่จะกลายเป็นรากสำหรับการสร้างแพคเกจ นี้จะกระทำโดยการตั้งค่าLD_PRELOADการlibfakeroot.soซึ่งมีห่อรอบgetuid, chown, chmod, mknod, stat, ... , ดังนั้นการสร้างสภาพแวดล้อมที่รากของปลอม หากคุณไม่เข้าใจสิ่งนี้คุณไม่จำเป็นต้องทำfakeroot! คำถามของฉันคืออะไรมันมีวัตถุประสงค์พิเศษอะไรที่แก้ง่าย ๆsuหรือsudoเปล่า? ตัวอย่างเช่นสำหรับการแบ่งบรรจุหีบห่อที่ติดตั้งใหม่ทั้งหมดใน ubuntu เราให้คำสั่งต่อไปนี้: $ fakeroot -u dpkg-repack `dpkg --get-selections | grep install | cut -f1` เราสามารถทำคำสั่งข้างต้นกับ sudo หรือ su แทน fakeroot ดังนี้: $ sudo dpkg-repack `dpkg --get-selections …
93 sudo  su 

3
su vs sudo -s vs sudo -i vs sudo bash
ความแตกต่างระหว่างคำสั่งต่อไปนี้คืออะไร: su sudo -s sudo -i sudo bash ฉันรู้ว่าsuฉันต้องรู้รหัสผ่านรูทและsudoฉันต้องอยู่ในsudoersไฟล์ แต่เมื่อดำเนินการแล้วจะมีความแตกต่างอะไรบ้าง? ฉันรู้ว่ามีความแตกต่างระหว่างsuและsudo -sเพราะไดเรกทอรีบ้านของฉันคือ/rootหลังจากที่ผมดำเนินการsuแต่ไดเรกทอรีบ้านของฉันยังคงหลัง/home/myname sudo -sแต่ฉันสงสัยว่านี่เป็นเพียงอาการของความแตกต่างพื้นฐานที่ฉันหายไป
89 sudo  su 

2
มีเหตุผลที่ดีในการใช้งาน sudo su หรือไม่?
ในการเปิดรูทเชลล์บนเครื่องที่ปิดใช้งานบัญชีรูทคุณสามารถเรียกใช้หนึ่งใน: sudo -i: เรียกใช้เปลือกเข้าสู่ระบบแบบโต้ตอบ (อ่าน/root/.bashrcและ/root/.profile) sudo -s: เรียกใช้เปลือกโต้ตอบที่ไม่ใช่การเข้าสู่ระบบ (อ่าน/root/.bashrc) ในโลกอูบุนตูฉันมักจะเห็นsudo suคำแนะนำว่าเป็นวิธีที่จะได้รูทเชลล์ ทำไมต้องรันสองคำสั่งแยกกันเมื่อจะทำ? เท่าที่ผมสามารถบอกได้sudo -iเทียบเท่ากับsudo su -และเป็นเช่นเดียวกับsudo -ssudo su ความแตกต่างเพียงอย่างเดียวดูเหมือนจะ (เปรียบเทียบsudo -iด้านซ้ายและsudo su -ด้านขวา): และเปรียบเทียบsudo -s(ซ้าย) และsudo su(ขวา): ความแตกต่างหลัก (ละเว้นSUDO_fooตัวแปรและLS_COLORS) ดูเหมือนจะเป็นXDG_fooตัวแปรระบบในsudo suรุ่น มีกรณีใดบ้างที่ทำให้ใบสำคัญแสดงสิทธิที่แตกต่างกันใช้ค่อนข้างไม่เหมาะสมsudo su? ฉันสามารถบอกผู้คนได้อย่างปลอดภัย (อย่างที่ฉันมักมี) ว่าไม่มีจุดใดในการวิ่งsudo suหรือไม่มีอะไรเลย?

2
ตัวเลือก su - ใช้คำสั่งเป็นผู้ใช้อื่น
ฉันสงสัยว่าจะเรียกใช้คำสั่งในฐานะผู้ใช้อื่นจากสคริปต์ได้อย่างไร ฉันมีเจ้าของสคริปต์ตั้งค่าเป็นรูท ฉันยังมีคำสั่งต่อไปนี้ถูกเรียกใช้ภายในสคริปต์เพื่อเรียกใช้คำสั่งเป็นผู้ใช้ฮัดสัน: su -c command hudson นี่เป็นไวยากรณ์ที่ถูกต้องหรือไม่
75 bash  scripting  su  sudo 

3
-bash: sudo: ไม่พบคำสั่ง
ฉันพยายามปรับใช้แอพ django เมื่อฉันพิมพ์ apt-get update ฉันเห็น W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (13: Permission denied) W: Unable to read /etc/apt/sources.list.d/ - DirectoryExists (13: Permission denied) W: Unable to read /etc/apt/sources.list - RealFileExists (13: Permission denied) E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied) E: Unable to …
63 debian  apt  sudo  su 

4
su ไม่ได้เปลี่ยนผู้ใช้ แต่ไม่ตอบสนองด้วยข้อผิดพลาดเช่นกัน
ในขณะที่เข้าสู่ระบบในขณะที่rootฉันต้องการให้suผู้ใช้ปกติที่เฉพาะเจาะจง ฉันเรียกใช้su usernameและได้รับพรอมต์ทันทียังคงเป็นราก ไม่มีข้อผิดพลาดให้ ฉันรู้เรื่อง "ผู้ใช้ที่คุณพยายามจะไม่ได้รับอนุญาตสำหรับโฟลเดอร์ที่คุณกำลังมีปัญหา" และนั่นไม่ใช่กรณีในสถานการณ์นี้ นอกจากนี้ยังไม่มีข้อผิดพลาดปรากฏขึ้นซึ่งมักเป็นกรณี (เท่าที่ฉันรู้) เมื่อพบปัญหาสิทธิ์ที่เฉพาะเจาะจง ฉันพยายามsu - usernameด้วยเอฟเฟกต์เดียวกัน คำสั่งถูกประมวลผลไม่เห็นข้อผิดพลาดและฉันได้รับพรอมต์กลับมาทันที สิ่งที่อาจทำให้เกิดพฤติกรรมนี้ ฉันจะแก้ไขปัญหานี้ได้อย่างไร
56 bash  su 

6
“ su” ที่มีข้อผิดพลาด“ การเชื่อมต่อ X11 ถูกปฏิเสธเนื่องจากการรับรองความถูกต้องผิดพลาด”
ในฐานะที่เป็น root ฉันกำลังเชื่อมต่อกับรีโมตโฮสต์เพื่อดำเนินการคำสั่ง เฉพาะ "standarduser" เท่านั้นที่มี id-file ที่ถูกต้องและถูกต้อง. ssh / config ดังนั้นฉันจะเปลี่ยนผู้ใช้ก่อน: su standarduser -c 'ssh -x remotehost ./remotecommand' คำสั่งทำงานได้ดี แต่ถึงแม้ว่าฉันจะใช้ "-x" (ปิดการใช้งานการส่งต่อ X11) และการปิดการใช้งาน X11Forward ใน/etc/ssh/ssh_configฉันยังคงได้รับข้อความแสดงข้อผิดพลาด: X11 connection rejected because of wrong authentication. ฉันไม่ได้รับข้อความแสดงข้อผิดพลาดเมื่อฉันเข้าสู่ระบบในฐานะ "ผู้ใช้มาตรฐาน" มันค่อนข้างน่ารำคาญเพราะฉันต้องการรวมคำสั่งในไฟล์งาน cron ฉันเข้าใจว่าข้อความแสดงข้อผิดพลาดอ้างถึงการตรวจสอบความถูกต้องที่ผิดพลาดของไฟล์. XAuth ของรูท แต่ฉันไม่ได้พยายามเชื่อมต่อผ่าน X11 ทำไม "ssh -x" ไม่ปิดการใช้งานการเชื่อมต่อ X11 และทิ้งข้อความข้อผิดพลาด? UPDATE …
52 bash  gnu-screen  su  xauth 

3
.bash_profile ไม่ได้มีที่มาเมื่อเรียกใช้ su
ฉันมีผู้พูดuser1ซึ่งมีการปรับเปลี่ยนของ.bash_profileหนึ่งของพวกเขาเปลี่ยนแปลงเช่น:PATH export PATH=/some/place:$PATHการเปลี่ยนแปลงนี้จะทำงานได้ดีถ้าฉันเข้าสู่ระบบเป็นหรือทำuser1su - user1 แต่ถ้าฉันพยายามที่จะเรียกใช้คำสั่งผ่านทางsuเป็นrootเช่น: su -c test.sh oracle (มีการทดสอบecho $PATH) ดูเหมือนว่าจะไม่มีการแก้ไขPATH(หรือรูPATHทสำหรับเรื่องนั้น) ฉันได้ลองคัดลอก.bash_profileไป.profileยังไม่มีประโยชน์ ทำไมสิ่งนี้จึงเกิดขึ้น

4
ทำไม“ sudo su” ในเชลล์สคริปต์ไม่ทำงานส่วนที่เหลือของสคริปต์เป็นรูท
สคริปต์ตัวอย่างสามารถเป็นด้านล่าง: #!/bin/bash sudo su ls /root เมื่อใช้./test.shในฐานะผู้ใช้ปกติแทนที่จะเรียกใช้lsในฐานะผู้ใช้ขั้นสูงและออกจากระบบจะเปลี่ยนเป็นรูท และเมื่อฉันออกจากระบบจะดำเนินการls /rootในฐานะผู้ใช้ปกติ ใครสามารถบอกฉันเกี่ยวกับกลไกเกี่ยวกับเรื่องนี้ได้บ้าง
36 shell  shell-script  sudo  root  su 

7
ฉันจะระงับเอาต์พุต dd ได้อย่างไร
ddฉันมีสคริปต์ทุบตีที่สร้างไฟล์โดยใช้ ปัญหาคือ dd ส่งเอาต์พุตจำนวนมากที่ไปยุ่งกับเอาต์พุตของสคริปต์ของฉัน การค้นหารอบ ๆ ฉันพบวิธีแก้ปัญหาแล้ว: dd if=boot1h of="/dev/r$temp1" >& /dev/null มีทางเลือกอื่นหรือเปลี่ยนเส้นทางไปสู่/dev/nullทางเดียวหรือไม่?
35 bash  sudo  su  dd 

7
เรียกใช้แอปพลิเคชัน GUI เป็นผู้ใช้อื่น
สมมติว่าผมมีบัญชีผู้ใช้ที่ 2 และuser1 user2เมื่อฉันลงชื่อเข้าใช้user1แล้วสลับไปuser2ใช้suฉันสามารถรันโปรแกรมบรรทัดคำสั่งได้ แต่โปรแกรม GUI ล้มเหลว ตัวอย่าง: user1@laptop:~$ su - user2 user2@laptop:~$ leafpad ~/somefile.txt No protocol specified leafpad: Cannot open display: ดังนั้นฉันจะเรียกใช้โปรแกรมประยุกต์ GUI ได้อย่างไร
34 shell  x11  xorg  su 


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