![バイナリにユーザーIDが設定されているかどうかを確認するには? [閉鎖]](https://linux33.com/image/5861/%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA%E3%81%AB%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BCID%E3%81%8C%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
Linuxでバイナリにset-user-IDがあるかどうかを確認する方法は?
私はそれを使用できますかls -l
?
答え1
実行すると、ls -l
次のような結果が得られます。
-rwSr--r-- 1 user user 8111573 Sep 26 2012 net-snmp.tar
ここでS
(可能s
)は、ファイルにSUIDビットが設定されていることを示します。
S
実行フラグを設定していない場合
s
実行フラグの設定時に設定されます。
答え2
ファイルを手動で表示またはls -l filename
使用できるスクリプトで表示します。
[ -u filename ] && echo SUID-bit is set
また見てくださいman bash
:
-u file
True if file exists and its set-user-id bit is set.
また見てくださいinfo ls
:
The file mode bits listed are similar to symbolic mode
specifications (*note Symbolic Modes::). But ‘ls’ combines
multiple bits into the third character of each set of permissions
as follows:
‘s’
If the set-user-ID or set-group-ID bit and the corresponding
executable bit are both set.
‘S’
If the set-user-ID or set-group-ID bit is set but the
corresponding executable bit is not set.