มีรหัสผ่านรูทบน OS X และ Ubuntu หรือไม่?


13

เมื่อคุณตั้งค่าการติดตั้ง Ubuntu หรือ OS X ใหม่ผู้ใช้จะถูกสร้างขึ้นสำหรับคุณ ใน OS X เป็นชื่อผู้ใช้ที่คุณเลือก บน Ubuntu (เวอร์ชั่นเซิร์ฟเวอร์) โดยปกติแล้วubuntuผู้ใช้จะถูกสร้างขึ้น

วิธีที่ฉันเข้าใจมันยังมีผู้ใช้รูทซึ่งคุณสามารถเข้าถึงผ่านบางสิ่งเช่นsudo su - rootและป้อนรหัสผ่านของubuntuหรือผู้ใช้ที่คุณสร้างขึ้นซึ่งเป็นส่วนหนึ่งของกลุ่มผู้ดูแลระบบ เมื่อคุณเปลี่ยนมาใช้rootฉันคิดว่าคุณสามารถใช้passwdคำสั่งและเปลี่ยนรหัสผ่านของรูทได้

แต่rootรหัสผ่านของอะไรก่อนหน้านั้น? มันมีอยู่หรือไม่ มันคือการสุ่มตัวเลขและตัวอักษร? ระบบจัดการกับสิ่งนั้นอย่างไร


1
บน Ubuntu sudo suคุณต้องเท่านั้น rootบัญชีจะถือว่าเป็นค่าเริ่มต้น
Nathan Osman

1
บน Ubuntu suจำเป็นสำหรับการสลับไปใช้ผู้ใช้ที่ไม่ใช่รูทบางคนเท่านั้น sudo commandเมื่อต้องการเรียกใช้คำสั่งเดียวเป็นรากชนิด sudo -iที่จะได้รับเปลือกรากพิมพ์
Scott Severance

และถ้าคุณบอกใครบางคนในฟอรั่มอูบุนตูวิธีการตั้งค่ารหัสผ่านรูทหรือบูตและรีเซ็ตรหัสผ่านของผู้ใช้ผ่าน livecd ก็จะได้รับบัญชีของคุณถูกแบนเป็นเวลา 30 วัน ... ถามฉันว่าฉันรู้ ... คนจริงๆไม่ต้องการให้คุณมีชุดรหัสผ่านสำหรับรากพวกเขาต้องการให้คุณมักจะใช้ sudo
ivanivan

คำตอบ:


12

ฉันสามารถตอบเฉพาะอูบุนตู
ใน Ubuntu rootผู้ใช้มีรหัสผ่านที่ถูกล็อค จากpasswdหน้าคน:

   -l, --lock
           Lock the password of the named account. This option disables a 
           password by changing it to a value which matches no possible 
           encrypted value (it adds a '!' at the beginning of the password).

ท่านสามารถเข้าดูใน!/etc/shadow

ผู้ใช้ที่มีบัญชีที่ถูกล็อคไม่สามารถเปลี่ยนรหัสผ่านของตนได้ แต่ผู้ใช้ root สามารถทำได้โดยไม่ต้องป้อนรหัสผ่านเก่าก่อน


10

ต่อไปนี้เป็นวิธีปลดล็อก (?) หรือสร้างผู้ใช้รูทจริงใน OSX:

  1. ค่ากำหนดของระบบ
  2. ผู้ใช้ & กลุ่ม
  3. ตัวเลือกการเข้าสู่ระบบ (คลิกล็อคและตรวจสอบที่นี่)
  4. คลิก "เข้าร่วม" (NAS)
  5. เปิด Directory Utility
  6. คลิกที่ล็อค (ตรวจสอบอีกครั้ง)
  7. เมนูแก้ไข -> เปิดใช้งานผู้ใช้รูท
  8. (เมนูแก้ไข -> เปลี่ยนรหัสผ่านรูท)

สนุก !


+1 สำหรับคำอธิบายที่ดีของ Mac GUI ฉันรู้วิธีบรรทัดคำสั่งเพื่อเปิดใช้งานบัญชีรูทเท่านั้น
Andrew J. Brehm

ใช่ฉันประหลาดใจเมื่อฝ่ายดูแลลูกค้าของ Apple พาฉันผ่านขั้นตอนในการทำเช่นนี้ ... ฉันคิดว่ามันเป็นความลับที่ดีเกินกว่าที่จะเก็บ "ซ่อน" เอาไว้
Yossi Farjoun

7

ดังที่ enzotib กล่าวว่า Ubuntu มีบัญชีรูท แต่ถูกล็อคโดยค่าเริ่มต้น

ตอนนี้เกี่ยวกับ Macs:

ในขณะที่คุณสามารถเดาได้ว่ารูท (รวมถึงบัญชีภูตทั้งหมด) จะไม่ปรากฏในส่วน "ผู้ใช้ & กลุ่ม" ของการตั้งค่า

ดูที่ mac ของฉัน/etc/passwdมีรายการrootพร้อมกับข้อความ

Note that this file is consulted directly only when the system is running
in single-user mode.  At other times this information is provided by 
Open Directory.

ฉันพยายามค้นหารายชื่อผู้ใช้ Open Directory โดยไม่ประสบความสำเร็จ แต่ในการกำหนดค่ามีการกล่าวถึงการให้สิทธิ์รูทอย่างชัดเจนแม้ว่าพวกเขาจะบอกเป็นนัย ฉันไม่เคยได้รับแจ้งให้ใส่รหัสผ่านรูทเมื่อฉันตั้งค่าเครื่องครั้งแรกดังนั้นฉันเดาว่าบัญชีรูทจะถูกล็อคเหมือนในอูบุนตู ฉันไม่ได้ (และไม่ต้องการ) ให้ลองตั้งรหัสผ่านและเข้าสู่ระบบด้วย root แต่คุณอาจทำได้

สาย passwd:

root:*:0:0:System Administrator:/var/root:/bin/sh

คำสั่ง perl จากความคิดเห็นของ keith เพิ่ม a :0to end ไม่มีแฮชของรหัสผ่าน ไม่มีไฟล์ shadow ที่ฉันสามารถค้นหาได้ฉันไม่สามารถค้นหาได้ทุกที่เพื่อตรวจสอบว่ารูทอาจมีรหัสผ่านหรือไม่


อะไรคือผลลัพธ์ของperl -e 'print join(":", getpwuid(0)), "\n"'? ( หมายเหตุ : หากมีสิ่งที่ดูเหมือนรหัสผ่านที่ถูกแฮชอย่าโพสต์ไว้ที่นี่)
Keith Thompson

@ KeithThompson โพสต์มันไม่มีอะไรพิเศษ ฉันรู้เกี่ยวกับแฮช แต่ฉันขอขอบคุณคุณรวมถึงคำเตือนสำหรับผู้ใช้ที่อาจไม่
เควิน

1
สิ่งที่เกี่ยวกับคำสั่ง Perl เดียวกันกับ uid ของคุณเอง? นั่นแสดงรหัสผ่านที่แฮชหรือไม่? (เห็นได้ชัดว่าอย่าโพสต์แฮช)
Keith Thompson

1
อืมมม บางทีgetpwuid()ใน MacOS ก็จงใจหลีกเลี่ยงการเปิดเผยข้อมูลที่ละเอียดอ่อน (แม้ว่าจะต้องมีสิ่งที่สามารถเข้าถึงรหัสผ่านที่แฮชได้)
Keith Thompson

1
ฉันค้นหาทางออนไลน์และดูเหมือนว่าพวกเขามีเงาในระบบปฏิบัติการล่าสุด แต่ฉันไม่สามารถหาได้ในสิงโต
เควิน

7

รหัสผ่านรูทบน Mac OS X ถูกเก็บไว้ (ตามที่เควินระบุไว้) ใน Open Directory เพื่อยืนยันการมีอยู่ของผู้ใช้รูทจำเป็นต้องใช้ grep แบบง่าย:

$ grep ^root /etc/passwd 
root:*:0:0:System Administrator:/var/root:/bin/sh

หากต้องการอ่านข้อมูลรหัสผ่านรูทจาก Open Directory:

$ dscl localhost -read /Local/Default/Users/root Password
Password: *
$ dscl localhost -read /Local/Default/Users/root AuthenticationAuthority
No such key: AuthenticationAuthority

ในกรณีเริ่มต้น (ตามที่แสดง) ผู้ใช้รูทไม่มีแฮชรหัสผ่าน (บัญชีถูกล็อค) คุณสามารถเปรียบเทียบการตั้งค่านี้กับค่าใน OD สำหรับผู้ใช้ "ปกติ":

$ dscl localhost -read /Local/Default/Users/normaluser Password
Password: ********
$ dscl localhost -read /Local/Default/Users/normaluser AuthenticationAuthority
AuthenticationAuthority: ;ShadowHash;HASHLIST:<SALTED-SHA512>...#rest of hash data

2

Ubuntu ตั้งค่ารหัสผ่านสำหรับผู้ใช้ที่มีชื่อและใช้สำหรับงานระดับ superuser (root) เช่นการติดตั้งและลบซอฟต์แวร์และไดเรกทอรีทั้งระบบและการลบไฟล์ / การดำเนินการเกินกว่าไดเรกทอรีหลักของคุณ ในความเป็นจริงแล้วบัญชีรูทนั้นไม่มีการซ่อนรหัสผ่าน แต่อย่างใด ข้อตกลงการใช้งาน Canonical และ Ubuntu ทำให้คุณไม่ต้องเรียกใช้งานโดยตรง

มันตั้งค่าบัญชีผู้ใช้ที่มีชื่อแทนที่จะตั้งค่าบัญชี "อูบุนตู" ทั่วไป อย่างน้อยก็เป็นกรณีที่ติดตั้งระบบ บัญชี "อูบุนตู" ทั่วไปอาจจะเกิดขึ้นถ้าคุณใช้ซีดีสดฉันจำไม่ได้ว่าฉันไม่ได้ทำงานกับซีดีสดในสองสามปีที่ผ่านมา

พฤติกรรมใน MacOsX นั้นค่อนข้างคล้ายกันมาก คุณจะถูกขอให้ตั้งรหัสผ่านซึ่งจะถูกเรียกใช้ในแต่ละครั้งที่คุณพยายามทำงานระดับ superuser เช่นการติดตั้งหรืออัพเกรดซอฟต์แวร์ แต่ไม่มีบัญชีชื่อ "root"


3
ฉันเชื่อว่าจริงๆแล้วมีผู้ใช้ "รูท" คุณสามารถsuรูทรูทมีโฮมไดเร็กตอรี่และไฟล์สามารถเป็นเจ้าของโดยรูท คุณช่วยให้การอ้างถึงข้อโต้แย้งของคุณว่าไม่มีบัญชีรูทได้หรือไม่?
cwd

3
แน่นอนว่ามีบัญชีรูทที่ชัดเจน (uid 0, ชื่อ "root") จะต้องมีในระบบเหมือนยูนิกซ์ใด ๆ มันไม่มีรหัสผ่าน (อย่างน้อยก็เป็นค่าเริ่มต้น) คุณสามารถได้รับเปลือกรากแล้วพิมพ์sudo bash -l whoami(แต่โดยปกติคุณควรใช้sudoสำหรับคำสั่งแต่ละคำสั่งแทนที่จะใช้เชลล์แบบโต้ตอบที่ทำงานเป็นรูท)
Keith Thompson

คุณอาจจะถูกต้องฉันไม่ได้ถามคุณ หากมีบัญชีรูทแล้วพวกเขาก็ทำได้ดีซ่อนมัน ฉันยังใช้ Fedora กับเครื่องบางเครื่องและ VM และรูทเป็นบัญชีที่ใช้งานได้ดีมาก
haziz

1

สำหรับ Ubuntu: โดยค่าเริ่มต้นคุณสามารถเข้าถึงบัญชีผู้ใช้ที่สร้างขึ้นใหม่ได้

ในการรันคำสั่งใด ๆ ในฐานะรูทคุณสามารถใช้

sudo command

จากนั้นป้อนรหัสผ่านปกติของคุณ

บัญชีรูทถูกล็อคโดยค่าเริ่มต้น เพื่อเปิดใช้งานรูทโดยบรรทัดคำสั่งเพียงแค่ป้อน

sudo passwd

จากนั้นป้อนรหัสผ่านผู้ใช้ที่เข้าสู่ระบบของคุณแล้วรหัสผ่านใหม่สำหรับรูท ตอนนี้คุณสามารถเข้าสู่ระบบโดยใช้รูทsu แล้วใส่รหัสผ่านของรูท

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