Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/04/2011, 05h52   #1
Invité régulier
 
tarik majid
Inscription : septembre 2010
Messages : 2
Détails du profil
Informations personnelles :
Nom : tarik majid

Informations forums :
Inscription : septembre 2010
Messages : 2
Points : 5
Points : 5
Par défaut bloquer une option d'une commande

s'il vous plait je veut savoir comment on peut bloqué une option d'une commande
par exemple comment bloqué l'option -l pour la commande ls
merci d'avance .
m-t4rik est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/04/2011, 08h35   #2
Expert Confirmé Sénior
 
Avatar de ram-0000
 
Raymond
Inscription : mai 2007
Messages : 7 471
Détails du profil
Informations personnelles :
Nom : Raymond

Informations forums :
Inscription : mai 2007
Messages : 7 471
Points : 10 993
Points : 10 993
De manière simple, tu ne peux pas.

De manière compliquée, tu peux :
  • réécrire la commande ls
  • patcher la commande ls de manière à ce qu'elle ne réagisse plus à cette option
La 2eme option est carrément sale
__________________
Raymond

Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
WinAgentLog WinAgentLog est un service Windows qui collecte en temps réel les messages Microsoft EventLog et les retransmet en utilisant le protocole Syslog à une machine distante.
e-verbe Un logiciel de conjugaison des verbes de la langue française

Ma page personnelle sur DVP

ram-0000 est déconnecté   Envoyer un message privé Réponse avec citation 21
Vieux 13/04/2011, 09h04   #3
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
tu peux aussi renomer ls en ls.original
et utiliser un alias de ls qui contient par exemple "ls.original -rt"

dans le .profile de l'utilisateur ou son .bashrc

et ainsi cet utilisateur est limiter à ces options mais c'est pas infaillible surtout si l'utilisateur n'est pas chrooté, il lui suffit de faire un ls dans /bin pour trouver l'astuce...
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/04/2011, 09h27   #4
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
D'autant plus que ça ne va pas forcément résoudre le problème

Pourquoi vouloir bloquer une option à une commande ?

Dans ton exemple, il est ultra simple de contourner ce genre de blocage ! Par exemple, en utilisant un petit script perl. Ou encore, en téléchargeant les sources de ls et en les compilant

Ci-dessous, j'ai modifié les droits de la commande "ls" pour qu'elle ne soit plus exécutable par les utilisateurs (c'est un peu plus violent que ton blocage, mais c'est pour l'exemple).
J'ai ensuite codé un petit script perl "ls.pl" que je lance et qui m'affiche bien le contenu du répertoire...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$ ls
-bash: /bin/ls: Permission denied
$ cat ls.pl
#!/usr/bin/perl
 
$rep=$#ARGV?".":$ARGV[0];
 
opendir my $fh_rep, $rep or die "impossible d'ouvrir le répertoire $rep: $!\n";
 
my @fic_rep = grep { !/^\.\.?$/ } readdir $fh_rep;
foreach $fic (@fic_rep) {
        ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat($fic);
        printf "%04o\t%s:%s\t%s\t%s\n", $mode & 07777, $uid, $gid, scalar localtime $mtime, $fic;
}
$ perl ~/test/ls.pl
0644    1003:100        Thu Apr  7 14:46:23 2011        A-large.in
0644    1003:100        Thu Apr  7 16:39:05 2011        A-prog.pl
0644    1003:100        Thu Apr  7 16:39:11 2011        A-large.pl.out
0644    1003:100        Thu Apr  7 14:33:26 2011        A-small.in
0644    1003:100        Thu Apr  7 14:45:35 2011        A-small.py.out
0644    1003:100        Thu Apr  7 16:57:58 2011        B-sample.in
0644    1003:100        Thu Apr  7 14:45:21 2011        A-small.pl.out
0644    1003:100        Thu Apr  7 18:02:53 2011        B-small.out
0644    1003:100        Thu Apr  7 18:08:53 2011        input.txt
0644    1003:100        Thu Apr  7 18:04:39 2011        B.cpp
0644    1003:100        Thu Apr  7 18:02:36 2011        B-small.in
0644    1003:100        Thu Apr  7 14:37:36 2011        A-sample.in
0644    1003:100        Thu Apr  7 14:43:00 2011        A-prog.py
0644    1003:100        Thu Apr  7 14:47:40 2011        A-large.py.out
0644    1003:100        Thu Apr  7 18:02:15 2011        B-prog.pl
0644    1003:100        Thu Apr  7 18:09:01 2011        output.txt
Bon, c'est minimaliste (je n'ai pas fait de conversion des uid/gid vers le vrai nom), mais c'était pour l'exemple...

Seconde exemple en compilant ls :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ wget http://ftp.gnu.org/pub/gnu/coreutils/coreutils-8.9.tar.gz
$ tar xvzf coreutils-8.9.tar.gz
$ cd coreutils-8.9
$ ./configure
$ make
$ cd ..
$ cp coreutils-8.9/src/ls .
$ ls
-bash: /bin/ls: Permission denied
$ ./ls -l
total 428
-rw-r--r-- 1 senga users   1353 Apr  7 14:46 A-large.in
-rw-r--r-- 1 senga users   2018 Apr  7 16:39 A-large.pl.out
-rw-r--r-- 1 senga users   2018 Apr  7 14:47 A-large.py.out
-rw-r--r-- 1 senga users    461 Apr  7 16:39 A-prog.pl
-rw-r--r-- 1 senga users    416 Apr  7 14:43 A-prog.py
-rw-r--r-- 1 senga users     30 Apr  7 14:37 A-sample.in
-rw-r--r-- 1 senga users    805 Apr  7 14:33 A-small.in
-rw-r--r-- 1 senga users   1539 Apr  7 14:45 A-small.pl.out
-rw-r--r-- 1 senga users   1539 Apr  7 14:45 A-small.py.out
...
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 21
Vieux 21/04/2011, 15h45   #5
Invité régulier
 
tarik majid
Inscription : septembre 2010
Messages : 2
Détails du profil
Informations personnelles :
Nom : tarik majid

Informations forums :
Inscription : septembre 2010
Messages : 2
Points : 5
Points : 5
merci a vous pour votre temps
c'est résolut
m-t4rik est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 21/04/2011, 15h55   #6
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
Ça serait bien de dire comment c'est résolu

Et je me permets d'insister : mon message précédent est parfaitement légitime malgré le petit vote négatif qui est, comme bien souvent, super utile.

Que tu modifies le ls de base de ta distribution, que tu fasses un alias, etc... tu ne pourras jamais empêcher quelqu'un qui veut accéder à ces infos d'y accéder, donc je pense qu'il faut revoir le problème... à savoir, pourquoi chercher à bloquer
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 21
Vieux 23/04/2011, 13h59   #7
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut tout le monde,

Je remonte le sujet parce que je viens de tomber sur lshell, qui apparemment se prête bien à la demande initiale et plus si affinité...

__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 21
Vieux 26/04/2011, 10h58   #8
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
Intéressant comme projet, mais bon, si tu es obligé de bloquer perl, gcc, etc... ça peut devenir compliqué :p

Je ne vois pas comment empêcher quelqu'un qui le veut d'avoir accès à une commande aussi basique que ls sur un système standard.

Même si tout est bloqué, qu'est ce qui l'empêche de compiler ls sur un autre système et de le récupérer ?

'fin bref, my 2 cents
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h18.


 
 
 
 
Partenaires

Hébergement Web