web-dev-qa-db-ja.com

SIDを取得するためのLinuxコマンドは何ですか

Windowsで特定のユーザーのSIDを取得したい場合。 DOSウィンドウから次のcmdを実行します。

cmd> wmic useraccount get name,sid
example output> kehelly S-1-5-21-3623811015-3361044348-30300820-1013

SID:セキュリティ識別子。

ユーザーがコンピューターにログインすると、ユーザーのSIDと特権が読み取られます。このユーザーがリソースへのアクセスを要求すると、SIDがチェックされ、SIDに応じてアクセスが許可または拒否されます。

Linuxマシンで同様の情報を取得しようとしています。誰かがこれを行う方法を知っていますか?

1
user1257114

これらの概念の間には1対1のマッピングはありません。 Linuxユーザーには、ユーザーID、有効なユーザーID、所属するグループ、およびアクセスしようとしているリソースに基づいた権限があります。

id usernameを使用すると、これらを@fedorquiノートとして表示できます。

selinux を使用している場合は、ユーザーとロールの概念もあり、SELinuxユーザーはユーザーIDと同じではないことに注意してください。すべてのLinuxシステムがSELinuxを実行しているわけではありません。 idを実行するだけで追加の役割を確認でき、selinuxのアクセス許可とuidおよびgroupを吐き出します。

Selinuxだけにid -Zを使用できます。

$ id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
3
Paul Rubel

私はこれが古いスレッドであることを知っていますが、ここで行ったように他の誰かがそれに遭遇した場合に備えて、rpcclientを使用してコンソールからSIDを見つける方法があります。 rpcclientへの最初のログイン:

rpcclient -U "fred" 192.168.0.187 (replace user name and server IP accordingly)

ログインしたら、これを実行してユーザーSIDを見つけます。

rpcclient $> lookupnames joe                                                    
joe S-1-5-21-2893105422-2373464063-1795470530-1000 (User: 1)

うまくいけば、他の誰かがこれが役に立つと思うでしょう。それを見つけるのにかなりのグーグルが必要でした。この情報は、SambaおよびACLのトラブルシューティングに役立つ場合があります。

1
Dan Stevenson