私はオンラインコースを行っていますが、助けてください。下の画像をご覧ください。 SUIDビットが設定されたファイルを見つけるために、findを使用しています。質問は、「SUIDとユーザーの実行権限が設定された、ユーザー 'linux'が所有する 'immersive'という名前のファイルの内容は何ですか? 'immersive'という名前の複数のファイルが正しいファイルを見つけます!」私はコマンドを使用した質問から
find . -perm /4100
これが正しい8進数の許可であると思いますか?イメージには2つのディレクトリが返されますが、ls -laを実行すると、SUIDが設定されたファイルは表示されません。私が間違っていることは何ですか?
$ find . -perm /4100
.
./immersive
$ ls .
immersive
$ ls -la ./immersive
lrwxrwxrwx 1 root root 23 Aug 20 14:25 ./immersive -> /lib/firmware/immersive
linux@find-command:~$ find . -perm /4100 . ./immersive
linux@find-command:~$ ls -la
total 24
drwxr-xr-x 1 linux linux 4096 Oct 13 13:00 .
drwxr-xr-x 1 root root 4096 Oct 11 18:56 ..
-rw------- 1 linux linux 134 Oct 13 13:00 .bash_history
-rw-r--r-- 17 linux linux 220 Apr 4 2018 .bash_logout
-rw-r--r-- 17 linux linux 3771 Apr 4 2018 .bashrc
-rw-r--r-- 17 linux linux 807 Apr 4 2018 .profile
lrwxrwxrwx 1 root root 23 Aug 20 14:25 immersive -> /lib/firmware/immersive
-perm /mode
と-perm -mode
の説明については、 この質問 を参照してください。私は認めます、それはあまり直感的ではありませんが、:
find . -type f -name immersive -user linux -perm -u=sx -ls
# or
find . -type f -name immersive -user linux -perm -4100 -ls
あなたが尋ねるとおりに行います。
-perm -4100
の意味:4
(= setuid)が設定され、1
(= x)が設定されているファイルを検索し、残りのビット(グループおよびその他)を無視します。
一方、-perm /4100
は、4
(= setuid)がOR 1
(= x)に設定されているファイルを検索することを意味します(または両方)残りのビットを無視します。
したがって、/mode
は-mode
よりも多くのファイルを見つけます。
明らかでない場合(-perm
フラグに焦点を合わせているため):他の意味:file(-type f
)名前がimmersive
で、ユーザーが所有するlinux
。これらの条件はすべてANDされます。
見つかったファイルのcontentsを表示するには、それらを1つずつcat
することができます。
cat .../immersive
見つかったファイルごとに、またはfind
コマンドに任せてください:
find . -type f -name immersive -user linux -perm -4100 -exec cat {} \;
これにより、上記の条件に従ってファイルが検索されますが、名前と属性(-ls
)を出力する代わりに、見つかった各ファイルに対してcat
コマンドが実行されます。