Có mật khẩu root trên OS X và Ubuntu không?


13

Khi bạn thiết lập cài đặt Ubuntu hoặc OS X mới, người dùng thường được tạo cho bạn. Trên OS X, đó là bất cứ tên người dùng nào bạn chọn. Trên Ubuntu (phiên bản máy chủ) thường ubuntungười dùng được tạo.

Theo cách hiểu của tôi, đó cũng là một người dùng root, bạn có thể truy cập thông qua một cái gì đó như sudo su - rootvà nhập mật khẩu của ubuntuhoặc người dùng bạn đã tạo, một phần của nhóm quản trị viên. Khi bạn chuyển sang roottôi nghĩ bạn có thể sử dụng passwdlệnh và thay đổi mật khẩu của root.

Nhưng rootmật khẩu trước đó là gì? Nó tồn tại? Đây có phải là một chuỗi số và chữ cái ngẫu nhiên không? Làm thế nào để hệ thống đối phó với điều đó?


1
Trên Ubuntu, bạn chỉ cần sudo su. Các roottài khoản được giả định theo mặc định.
Nathan Osman

1
Trên Ubuntu, suchỉ cần thiết để chuyển sang một số người dùng không root . Để chạy một lệnh duy nhất là root, gõ sudo command. Để có được một vỏ gốc, gõ sudo -i.
Scott Severance

Và nếu bạn nói với ai đó trên diễn đàn ub Ubuntu cách đặt mật khẩu gốc, hoặc khởi động và đặt lại mật khẩu người dùng thông qua một livecd, nó có thể khiến tài khoản của bạn bị cấm trong 30 ngày ... hãy hỏi tôi làm sao tôi biết .... Ubuntu Mọi người thực sự không muốn bạn có mật khẩu được đặt cho root, họ muốn bạn luôn sử dụng sudo
ivanivan

Câu trả lời:


12

Tôi chỉ có thể trả lời cho Ubuntu.
Trong Ubuntu rootngười dùng có mật khẩu bị khóa. Từ passwdtrang nam:

   -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).

Bạn có thể thấy !trong /etc/shadow.

Người dùng có tài khoản bị khóa không thể thay đổi mật khẩu, nhưng root có thể, mà không cần nhập mật khẩu cũ trước đó.


10

Đây là cách mở khóa (?) Hoặc tạo người dùng root thực tế trong OSX:

  1. Tùy chọn hệ thống
  2. Người dùng & Nhóm
  3. Tùy chọn đăng nhập (bấm khóa và xác thực tại đây)
  4. Nhấp vào "Tham gia" (NAS)
  5. Mở tiện ích thư mục
  6. Nhấp vào khóa (xác thực lại)
  7. Chỉnh sửa menu -> cho phép người dùng root
  8. (Chỉnh sửa menu -> thay đổi mật khẩu root)

Thưởng thức !


+1 cho mô tả hay về GUI Mac. Tôi chỉ biết cách dòng lệnh để kích hoạt tài khoản root.
Andrew J. Brehm

Vâng, tôi đã rất ngạc nhiên khi anh chàng Chăm sóc khách hàng của Apple hướng dẫn tôi các bước để làm điều này ... Tôi nghĩ rằng đó là một bí mật quá tốt để giữ "bí mật".
Yossi Farjoun

7

Như enzotib đã nói, Ubuntu có tài khoản root nhưng nó bị khóa theo mặc định.

Bây giờ, về máy Mac:

Như bạn có thể đoán, root (cùng với tất cả các tài khoản daemon) sẽ không xuất hiện trong phần "Người dùng & Nhóm" trong Cài đặt.

Nhìn vào máy Mac của tôi /etc/passwd, có một mục cho root, cùng với một tin nhắn

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.

Tôi đã cố gắng tìm danh sách người dùng Thư mục mở, nhưng không thành công, nhưng trong các cấu hình có đề cập đến việc cấp quyền rõ ràng mặc dù chúng được ngụ ý. Tôi chưa bao giờ được nhắc nhập mật khẩu root khi lần đầu tiên thiết lập máy, vì vậy tôi đoán tài khoản root đã bị khóa vì nó ở trong Ubuntu. Tôi đã không (và không thực sự muốn) thử cung cấp mật khẩu root và đăng nhập bằng mật khẩu, nhưng bạn có thể có thể.

Dòng mật khẩu:

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

Lệnh perl từ bình luận của keith thêm :0vào cuối. Không có mật khẩu băm. Tôi cũng không thể tìm thấy tập tin bóng, tôi không thể tìm thấy chúng ở bất cứ đâu để kiểm tra xem root có mật khẩu hay không.


Đầu ra của là perl -e 'print join(":", getpwuid(0)), "\n"'gì? ( LƯU Ý : Nếu nó bao gồm một cái gì đó trông giống như mật khẩu được băm, đừng đăng nó ở đây.)
Keith Thompson

@KeithThndry Đăng nó, không có gì đặc biệt. Tôi biết về hàm băm, nhưng tôi đánh giá cao bạn bao gồm cảnh báo cho những người dùng có thể không.
Kevin

1
Điều gì về cùng một lệnh Perl với uid của riêng bạn? Điều đó cho thấy một mật khẩu băm? (Một lần nữa, rõ ràng, không đăng băm.)
Keith Thompson

1
Hừm. Có lẽ getpwuid()trên MacOS cố tình làm điều đó, để tránh tiết lộ thông tin nhạy cảm (mặc dù phải có một cái gì đó có thể truy cập mật khẩu băm).
Keith Thompson

1
Tôi đã tìm kiếm trực tuyến và có vẻ như họ có một cái bóng trong os cuối cùng nhưng tôi không thể tìm thấy một con sư tử.
Kevin

7

Mật khẩu gốc trên Mac OS X được lưu trữ (như được đề cập bởi Kevin) trong Thư mục mở. Để xác nhận sự tồn tại của người dùng root, cần có một grep đơn giản:

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

Để đọc thông tin mật khẩu gốc từ Thư mục mở:

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

Trong trường hợp mặc định (như được hiển thị), người dùng root không có bộ băm mật khẩu (tài khoản bị khóa). Bạn có thể so sánh cài đặt này với giá trị trong OD cho người dùng "bình thường":

$ 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 thiết lập một mật khẩu cho người dùng được đặt tên và sử dụng nó cho các tác vụ cấp siêu người dùng (root) như cài đặt và xóa phần mềm toàn hệ thống và thư mục và xóa tệp / thực thi ngoài thư mục chính của bạn. Một tài khoản root thực tế đã có nhưng không có mật khẩu được gán một chút ẩn. Các quy ước sử dụng Canonical và Ubuntu có hiệu lực không khuyến khích bạn trực tiếp gọi nó.

Nó thiết lập một tài khoản người dùng được đặt tên thay vì thiết lập một tài khoản "ubfox" chung. Đó là ít nhất là trường hợp với các hệ thống được cài đặt. Một tài khoản "ubfox" chung có thể có sẵn nếu bạn sử dụng CD trực tiếp, tôi không thể nhớ, tôi đã không làm việc với CD trực tiếp trong một vài năm.

Hành vi trong MacOsX thực sự khá giống nhau. Bạn được yêu cầu đặt mật khẩu, được gọi mỗi lần bạn thực hiện các tác vụ cấp siêu người dùng như cài đặt hoặc nâng cấp phần mềm nhưng không có tài khoản có tên là "root".


3
Tôi tin rằng trên thực tế có một "người dùng" gốc. Bạn có thể suroot, root có một thư mục chính và các tập tin có thể được sở hữu bởi root. Bạn có thể cung cấp một số trích dẫn cho lập luận của bạn rằng không có tài khoản root?
cwd

3
Chắc chắn có một tài khoản root rõ ràng (uid 0, tên "root"). Phải có trên bất kỳ hệ thống nào giống Unix. Nó chỉ không có mật khẩu (ít nhất là theo mặc định). Bạn thậm chí có thể lấy một vỏ gốc : sudo bash -l, sau đó gõ whoami. (Nhưng thông thường, bạn nên sử dụng sudocho các lệnh riêng lẻ thay vì có trình bao tương tác chạy bằng root.)
Keith Thompson

Bạn có thể đúng, tôi không hỏi bạn. Nếu có một tài khoản root, thì họ đã hoàn thành tốt việc che giấu nó. Tôi cũng sử dụng Fedora trên một số máy và máy ảo của mình và root rất giống một tài khoản đang hoạt động.
haziz

1

Đối với Ubuntu: theo mặc định, bạn có thể truy cập vào tài khoản người dùng mới tạo của mình.

Để chạy bất kỳ lệnh nào với quyền root, bạn có thể sử dụng

sudo command

sau đó nhập mật khẩu bình thường của bạn

Tài khoản root được mặc định khóa. Để kích hoạt root bằng dòng lệnh, chỉ cần nhập

sudo passwd

sau đó nhập mật khẩu người dùng đã đăng nhập và mật khẩu mới để root. Bây giờ bạn có thể đăng nhập bằng root bằng cách su nhập mật khẩu của root.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.