Liệt kê tài khoản người dùng trên máy Mac từ dòng lệnh
Mục lục:
Quản trị viên Mac có thể thấy mình trong tình huống cần hiển thị danh sách tất cả tài khoản người dùng trên một máy Mac cụ thể bằng dòng lệnh. Chúng tôi sẽ xem xét một vài phương pháp dành cho các cá nhân nâng cao để liệt kê tất cả tài khoản, cả người dùng và hệ thống, trên bất kỳ máy Mac nào với bất kỳ phiên bản nào của phần mềm hệ thống Mac OS X.
Một vài cách tiếp cận cơ bản ban đầu cho vấn đề này là truy cập màn hình đăng nhập hoặc liệt kê nội dung của thư mục /Users, mặc dù nếu tài khoản người dùng bị ẩn thì tài khoản đó sẽ không hiển thị ở màn hình đăng nhập và việc làm xáo trộn người dùng khỏi thư mục/Users cũng đơn giản không kém.Ngoài ra, sự tồn tại của một tên trong thư mục /Users/ không phải là điều chắc chắn, bởi vì bạn có thể xóa tài khoản người dùng nhưng vẫn giữ nguyên thư mục chính của người dùng đó. Do đó, mặc dù những cách tiếp cận đó có thể phù hợp với người dùng Mac bình thường muốn hiển thị những người dùng họ có trên máy tính, nhưng cả hai phương pháp đó đều không đủ cho hầu hết các nhu cầu của quản trị viên. Tuy nhiên, bằng cách chuyển sang dòng lệnh, bạn có thể tiết lộ tất cả tài khoản người dùng trên máy Mac, cho dù đó là tài khoản người dùng chung của người dùng đang hoạt động, tài khoản quản trị viên cũng như bất kỳ tài khoản hệ thống nào.
Cách liệt kê tất cả tài khoản người dùng trên máy Mac từ dòng lệnh
Mở Terminal nếu bạn chưa làm như vậy, trên máy cục bộ mà bạn muốn liệt kê tài khoản người dùng hoặc bằng cách kết nối với máy Mac từ xa mà bạn muốn xem tài khoản người dùng trên đó . Sau đó, chúng ta sẽ sử dụng lệnh 'dscl', lệnh này hoạt động trong tất cả các phiên bản phần mềm hệ thống Mac OS X.
Xem tất cả người dùng & tài khoản trên máy Mac
dscl . danh sách /Người dùng
Lợi ích (hoặc rắc rối) với phương pháp này là nó không chỉ liệt kê tất cả tài khoản người dùng trên máy Mac mà còn hiển thị mọi tài khoản tiến trình máy chủ và daemon. Điều này sẽ bao gồm các tên người dùng như Paul, Bob, Jill, cũng như daemon, tài khoản hệ thống và người dùng xử lý như networkd, windowserver, daemon, none, root, _spotlight, _ard, _appserver, _iconservices, v.v.
Nếu danh sách đầy đủ người dùng là không mong muốn, bạn có thể dễ dàng loại trừ tất cả các tài khoản _underscore daemon và xử lý bằng cách chạy đầu ra thông qua grep, như chúng tôi sẽ trình bày tiếp theo.
Chỉ hiển thị tài khoản người dùng
dscl . danh sách/Người dùng | grep -v '_'
Lệnh này sẽ lọc ra bất kỳ người dùng daemon có tiền tố _ gạch dưới nào, vốn không thực sự là tài khoản người dùng. Kết quả là bạn sẽ nhận được một danh sách tên người dùng ngắn hơn nhiều, nhưng bạn vẫn sẽ tìm thấy ba tên người dùng không phải là tài khoản người dùng thông thường, nhưng thường được tìm thấy trên các bản cài đặt Mac OS X; daemon, không ai và root.
Hiển thị tất cả tài khoản người dùng, thư mục người dùng và thông tin GECOS của người dùng trên máy Mac
Cách tiếp cận khác là hiển thị và liệt kê danh sách tài khoản chi tiết của tài khoản người dùng, thư mục tài khoản người dùng được liên kết và thông tin GECOS của tài khoản người dùng (thường là mô tả tài khoản hoặc tên người dùng đầy đủ ). Nếu bạn tự hỏi một số tài khoản hệ thống và tài khoản ID người dùng xử lý trong các danh sách nói trên là cái quái gì, phương pháp này sẽ cung cấp thêm chi tiết, bao gồm mô tả địa lý cho từng tài khoản (ví dụ: người dùng _qtss là daemon Máy chủ phát trực tuyến QuickTime)
dscacheutil -q user
Đầu ra của lệnh đó sẽ khá rộng, vì vậy bạn có thể muốn đưa kết quả qua nhiều hoặc ít hơn hoặc chuyển hướng nó vào một tệp văn bản để phân tích cú pháp dễ dàng hơn.
Có khả năng có các phương tiện khác để hiển thị tất cả tài khoản người dùng trên máy Mac, bất kể phiên bản hệ thống là gì, nếu bạn biết phương pháp cung cấp thông tin hiệu quả không được đề cập ở đây, hãy chia sẻ nó trong phần nhận xét.