ผู้ใช้ไม่ปรากฏใน / etc / passwd บน Mac OS X


29

โดยการตรวจสอบ/etc/passwdไฟล์ฉันควรได้รับรายชื่อผู้ใช้ทั้งหมดในระบบ อย่างไรก็ตามเมื่อทิ้งpasswdไฟล์ใน Mac OS XI ไม่เห็นชื่อผู้ใช้ปัจจุบันของฉัน แต่มีหลายรายการเช่น:

  _xgridagent: *: 86: 86: Xgrid Agent: / var / xgrid / agent: / usr / bin / false
  _appowner: *: 87: 87: เจ้าของแอปพลิเคชัน: / var / empty: / usr / bin / false
  _windowserver: *: 88: 88: WindowServer: / var / ว่างเปล่า: / usr / bin / เท็จ
  _spotlight: *: 89: 89: Spotlight: / var / ว่างเปล่า: / usr / bin / เท็จ
  _tokend: *: 91: 91: Token Daemon: / var / empty: / usr / bin / false

ทำไมฉันสามารถเข้าสู่เปลือกด้วยชื่อผู้ใช้ของฉันและเห็นชื่อผู้ใช้ว่าเมื่อผมทำwho?

คำตอบ:


25

/etc/passwdไฟล์ปรึกษาเฉพาะเมื่อระบบปฏิบัติการอยู่ในโหมดผู้เดียว ตำแหน่ง "มาตรฐาน" สำหรับข้อมูลบัญชีใน OS X คือ DirectoryService

ลองman DirectoryServiceดูข้อมูลเพิ่มเติม

บล็อกความคิดเห็นต่อไปนี้ปรากฏที่ด้านบนของไฟล์รหัสผ่านของฉัน:

##
# User Database
# 
# 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.
#
# This file will not be consulted for authentication unless the BSD local node
# is enabled via /Applications/Utilities/Directory Utility.app
# 
# See the DirectoryService(8) man page for additional information about
# Open Directory.
##

ในรุ่นล่าสุดของ OS X Directory, /System/Library/CoreServices/Directory Utilityยูทิลิตี้ได้ถูกย้ายไป


ฉันไปหาอะไรแบบนั้น (Directory Utility) - และมันไม่มีอยู่ใน Snow Leopard ของฉันติดตั้ง ... มีความคิดอะไรที่ฉันจะพลาด - มันไปถึงที่นั่นได้อย่างไร
Jonathan Leffler

อืม ... Appleกล่าวว่า " Mac OS X v10.5 มีสองยูทิลิตี้ที่ใช้ในการผูกคอมพิวเตอร์กับ Microsoft Active Directory Directory Utility เป็นแอพพลิเคชั่นและ dsconfigad เป็นยูทิลิตี้บรรทัดคำสั่งที่เข้าถึงได้ผ่านทาง Terminal ตัวเชื่อมต่อ Active Directory ใน Directory Utility "
Jonathan Leffler

ไม่ได้ติดตั้งในตำแหน่งที่โฆษณาและจะไม่ปรากฏในสปอตไลท์ ดูเหมือนว่าไฟล์รหัสผ่านของฉันกำลังโกหกฉัน
Steve Weet

ไฟล์รหัสผ่านของฉันบอกว่าปดเดียวกัน ฉันเจอdsconfigadแล้ว
Jonathan Leffler

2
เพิ่มตำแหน่งใหม่ของยูทิลิตี้ไดเรกทอรี
Alan Shutko

10

มีชุดบริการไดเรกทอรีซึ่งเก็บข้อมูลไว้ มีชุดเครื่องมือบรรทัดคำสั่ง ( dsclสำหรับหนึ่ง) เพื่อจัดการ (ยาก) หรือคุณสามารถใช้การตั้งค่าระบบเพื่อจัดการบางอย่าง


4

OS X ไม่ใช้ไฟล์ UNIX / LINUX / etc / passwd แต่จะเก็บไว้ใน NetInfo คำสั่งที่ใช้ในการโต้ตอบกับ NetInfo เป็นโปรแกรมอรรถประโยชน์คำสั่งบริการไดเรกทอรีหรือ dscl

ฉันไม่คุ้นเคยกับคำสั่ง แต่ฉันแน่ใจว่าเรียบง่ายman dsclจะไม่ทำร้ายใคร


2
NetInfo ถูกแทนที่ด้วยบริการไดเรกทอรีเป็น Mac OS X 10.5 และใหม่กว่า
Chealion


1

ฉันรู้ว่านี่ไม่ใช่การตอบคำถามโดยตรง แต่ฉันรู้สึกว่ามีหลายคนที่พบคำถามนี้แค่ต้องการทราบวิธีการทำแบบสอบถามอย่างง่าย ๆ เพื่อค้นหาข้อมูลผู้ใช้จากบรรทัดคำสั่ง สำหรับคนอื่น ๆ ในเส้นทางนี้เพียงแค่ต้องการเห็นการตั้งค่าที่คล้ายกับคำสั่ง unix มาตรฐานฉันพบว่าคำสั่งง่ายๆนี้จะมีประโยชน์

dscl . -read /Users/<putusernamehere> UniqueID PrimaryGroupID NFSHomeDirectory UserShell

คุณยังสามารถทำสิ่งต่อไปนี้

dscl . -read /Users/<putusernamehere>

หากต้องการดูทุกอย่าง แต่ได้รับการเตือนจะมีการถ่ายภาพผู้ใช้รุ่น hex ไปยังหน้าจอ หากคุณต้องการส่วนประกอบอื่น ๆ แม้ว่าจะมีประโยชน์ในการดูว่ามีอะไรอยู่ถ้าคุณสามารถหลีกเลี่ยงรายการ JPEGPhoto

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