Je fais un cours en ligne et pourrait faire avec de l'aide s'il vous plaît. S'il vous plaît voir l'image ci-dessous. J'utilise find pour localiser un fichier avec le bit SUID défini. La question demande "Quel est le contenu du fichier nommé" immersif ", qui appartient à l'utilisateur" linux ", avec le SUID et le jeu d'autorisations d'exécution d'utilisateur? Il existe plusieurs fichiers nommés" immersif "pour trouver le fichier correct!" De la question j'ai utilisé la commande
find . -perm /4100
J'espère que c'est les permissions octales correctes? Dans l'image, vous verrez deux répertoires renvoyés, mais quand je lance ls -la, je ne vois aucun fichier avec le SUID défini. Des idées que je fais mal?
$ 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
Voir cette question pour une explication de _-perm /mode
_ et _-perm -mode
_. J'avoue que ce n'est pas très intuitif, mais:
_find . -type f -name immersive -user linux -perm -u=sx -ls
# or
find . -type f -name immersive -user linux -perm -4100 -ls
_
fera comme vous demandez.
_-perm -4100
_ signifie: recherchez tout fichier dont _4
_ (= setuid) est défini AND _1
_ (= x) défini pour l'utilisateur tout en ignorant les bits restants (groupe et autres).
Le _-perm /4100
_ signifie par contre: rechercher tout fichier qui a soit SOIT _4
_ (= setuid) défini OR _1
_ (= x) défini pour l'utilisateur (ou les deux) tout en ignorant les bits restants.
Donc _/mode
_ trouvera plus de fichiers que _-mode
_.
Au cas où cela ne serait pas évident (parce que je me suis concentré sur le drapeau _-perm
_): les autres signifient: trouver un fichier (_-type f
_) avec le nom immersive
appartenant à l'utilisateur linux
. Toutes ces conditions sont ANDed.
Pour afficher le contenu des fichiers trouvés, vous pouvez soit cat
les un à un, c.-à-d.
_cat .../immersive
_
pour chaque fichier trouvé ou laissez la commande find
le faire pour vous:
_find . -type f -name immersive -user linux -perm -4100 -exec cat {} \;
_
Cela trouvera les fichiers selon les conditions ci-dessus, mais au lieu d’imprimer leurs noms et attributs (_-ls
_), la commande cat
sera exécutée pour chaque fichier trouvé.