Mac OSX: pengguna vs perintah dscl untuk mendaftar pengguna

5

Saya menjalankan dua perintah di terminal:

users

dan

dscl . -read /Users/

dan kemudian mereka memberi tahu saya dua hasil yang berbeda. Yang kedua memberi saya daftar panjang sementara yang pertama hanya menunjukkan nama pengguna saya di Mac.

Ketika saya mencari "Daftar pengguna di Mac", sebagian besar akan memberi tahu saya menggunakan yang kedua. Namun ketika saya mengeksekusi "pengguna pria", itu menunjukkan kepada saya bahwa perintah ini adalah untuk "daftar Pengguna saat ini".

Bisakah Anda memberi tahu saya perbedaannya?

Juga, bagaimana saya menjalankan perintah sebagai pengguna mysql. Perintah berikut ini tidak berfungsi:

mkdir mysqldir --user mysql
petwho
sumber
Saya merasa menarik bahwa Anda mendapatkan nama pengguna Anda di Mac karena dscl . -read /Users/karena saya mendapatkan name: dsRecTypeStandard:Usersyang saya harapkan karena mencoba membaca dsRecType(yang Usersdalam hal ini, pikiran).
2rs2ts

Jawaban:

7

dscl . -read /Users/tidak mencetak sesuatu yang sangat menarik; maksud Anda dscl . -ls /Users, yang mencetak daftar akun pengguna yang ditentukan pada komputer Anda (termasuk banyak akun sistem yang biasanya tersembunyi). users, di sisi lain, mencetak daftar pengguna yang saat ini masuk di komputer Anda (biasanya hanya Anda).

Untuk pertanyaan kedua: Anda dapat menggunakan sudoperintah untuk menjalankan perintah sebagai pengguna lain (mis sudo -u _mysql mkdir mysqldir.). Perhatikan bahwa ini memerlukan hak admin, dan akan meminta Anda memasukkan kata sandi untuk verifikasi.

Gordon Davisson
sumber
18

Dapatkan daftar semua pengguna (hanya nama pendek mereka):

dscl . -list /Users

Dapatkan info pengguna terperinci tentang pengguna tertentu:

dscl . -read /Users/<username>

Dapatkan nilai tertentu dalam info pengguna:

dscl . -read /Users/<username> <key>

Contoh <key>yang RecordName, RealName, UniqueID, dan NFSHomeDirectory.

Dapatkan info pengguna terperinci tentang semua pengguna:

dscl . -readall /Users

Dapatkan nilai tertentu di semua info pengguna:

dscl . -readall /Users <key>

Semoga Anda memperhatikan perbedaan antara -listdan -read. Barang tambahan: -plistkeluaran sebagai XML, -searchmemungkinkan Anda menentukan kunci dan nilai dan Anda akan mendapatkan keluaran yang menunjukkan di mana nilai itu.

2rs2ts:~/ $ dscl . -search /Users RealName "Andrew Garrett"          [12:04:07]
2rs2ts      RealName = (
    "Andrew Garrett"
)

2rs2ts:~/ $ dscl -plist . -read /Users/nobody                        [12:05:29]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>dsAttrTypeStandard:AppleMetaNodeLocation</key>
    <array>
        <string>/Local/Default</string>
    </array>
    <key>dsAttrTypeStandard:GeneratedUID</key>
    <array>
        <string>FFFFEEEE-DDDD-CCCC-BBBB-AAAAFFFFFFFE</string>
    </array>
    <key>dsAttrTypeStandard:NFSHomeDirectory</key>
    <array>
        <string>/var/empty</string>
    </array>
    <key>dsAttrTypeStandard:Password</key>
    <array>
        <string>*</string>
    </array>
    <key>dsAttrTypeStandard:PrimaryGroupID</key>
    <array>
        <string>-2</string>
    </array>
    <key>dsAttrTypeStandard:RealName</key>
    <array>
        <string>Unprivileged User</string>
    </array>
    <key>dsAttrTypeStandard:RecordName</key>
    <array>
        <string>nobody</string>
    </array>
    <key>dsAttrTypeStandard:RecordType</key>
    <array>
        <string>dsRecTypeStandard:Users</string>
    </array>
    <key>dsAttrTypeStandard:SMBRID</key>
    <array>
        <string>501</string>
    </array>
    <key>dsAttrTypeStandard:UniqueID</key>
    <array>
        <string>-2</string>
    </array>
    <key>dsAttrTypeStandard:UserShell</key>
    <array>
        <string>/usr/bin/false</string>
    </array>
</dict>
</plist>

Tentu saja, Anda dapat membaca halaman manual untuk mendapatkan info lebih lanjut.

2rs2ts
sumber
0

Perintah 'pengguna' hanya mencantumkan pengguna yang saat ini masuk.

DESKRIPSI pengguna mencantumkan nama login pengguna saat ini pada sistem, dalam urutan, ruang terpisah, pada satu baris.

Vicki B
sumber