ฉันจะออกจากระบบ 'sudo su` ได้อย่างไร?


90

ฉันใช้sudo suเพื่อเริ่มmysqlและทำการบ้านกับมัน

เมื่อผมจบด้วยmysql(หรือคำสั่งอื่น ๆ ) sudoแล้วฉันยังคงอยู่ใน

ฉันจะ "ออกจากระบบ" ดังนั้นการเปลี่ยนแปลงพรอมต์ของฉันกลับมาจาก#ไป$?


6
ใช้คำสั่ง exit ..

11
exitหรือ Ctrl + D อย่างง่าย ฉันจำได้เมื่อฉันค้นพบครั้งแรกหลังและชีวิตของฉันได้สิบครั้งง่ายขึ้น :-D
Daniel Andersson

1
นอกเหนือจากคำตอบที่ดีด้านล่างยังมีจุดหนึ่ง: ถ้าคุณต้องการเชลล์ที่มีสิทธิ์รูทบน Ubuntu คุณพิมพ์sudo -i(และปล่อยด้วย CTRL + D)
guntbert

คำตอบ:


110

คุณไม่จำเป็นต้องใช้sudoและsuร่วมกัน - suสลับบัญชีผู้ใช้ของคุณ (โดยไม่มีข้อโต้แย้งมันจะเปลี่ยนคุณเป็นรูท) sudoเพียงยกระดับสิทธิ์ของคุณให้รูทสำหรับคำสั่งปัจจุบัน

ขอแนะนำให้ใช้sudoแทนsuถ้าเป็นไปได้ แต่เพื่อกลับไปยังบัญชีปกติของคุณหลังจากการโทรsuเพียงใช้exitคำสั่ง


9
sudo suจะเปลี่ยนเป็นบัญชีรูทแม้ว่าคุณจะไม่ทราบรหัสผ่านรูท
Rob

1
มีเป็นความแตกต่างระหว่างsudo su, sudoและsuและเป็นมูลค่ารู้แตกต่างเหล่านั้นเพื่อความปลอดภัย แต่ยังเพื่อความสะดวกของคุณ johnkpaul.tumblr.com/post/19841381351/su-vs-sudo-su-vs-sudo-ui
Jeff Welling

@ Rob แต่ก็ยังอาจไม่ได้ตั้งค่าสภาพแวดล้อมในทางที่ต้องการ - ใช้sudo -iแทน (ในอูบุนตูรากบัญชีถูกปิดใช้งานโดยค่าเริ่มต้น = มีอยู่ไม่มีรหัสผ่านที่ถูกต้อง)
guntbert

2
@ Rob หรือsudo -sสำหรับsนรก
Joel Mellon

ไม่มีอะไรแนะนำให้ใช้ที่นี่
Totty.js

16

ใช้

su username

เพื่อกลับสู่ระดับผู้ใช้ของคุณ (หรือผู้ใช้อื่น)

หรือเพียงแค่กด Ctrl-D เพื่อออกจากรูต


7
คุณไม่ต้องการที่จะลึกลงไป ... Ctrl-D หรือมีอยู่หรือออกจากระบบเป็นตัวเลือกที่ดี
ราม

@Ram - คุณทำประเด็นสำคัญ แต่มีความผิดพลาดในการแสดงความคิดเห็นของคุณ มันควรจะเป็นexit(ไม่มีอยู่)
MountainX

พิมพ์ผิดแน่นอน @MountainX ... CTRL-D ออกออกจากระบบ ฯลฯ
ราม

นี่เป็นคำตอบเดียวที่ใช้งานได้จริง
Totty.js

1
@ Totty.js ถ้าอย่างนั้นคุณก็ใช้suผิด
Nic Hartley


0

ไม่มีเหตุผลใด ๆ ที่จะใช้sudoหรือsuเรียกใช้ไคลเอนต์บรรทัดคำสั่ง MySQL เป็นค่าเริ่มต้นที่จะใช้ผู้ใช้ Unix ปัจจุบันของคุณเป็นผู้ใช้ MySQL ของคุณ แต่คุณควรส่งผ่านผู้ใช้ที่คุณต้องการเชื่อมต่อเป็นอาร์กิวเมนต์:

$ mysql -u root # connect as MySQL's root user (without password)
$ mysql -u root -p # -p means prompt for a password

หวังว่าบัญชี root MySQL ของคุณมีรหัสผ่านและคุณจะต้องใช้แบบฟอร์มที่สอง

นอกเหนือจากนั้นหากคุณต้องการใช้งาน MySQL ภายใต้ sudo (เช่นสำหรับการอนุญาตไฟล์) ให้ทำดังนี้:

$ sudo -u unix-user mysql -u mysql-user -p

คุณสามารถละทิ้งอาร์กิวเมนต์ (sudo จะใช้ค่าเริ่มต้นเป็นรูทของผู้ใช้ MySQL จะใช้ค่าเริ่มต้นในการใช้ผู้ใช้เดียวกันกับ sudo)

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