Manque pas /tmp et /sys et sbin?
Version imprimable
Bonjour,
sudo n'est pas forcément installée/configurée sur toute les distributions, de la même façon. De ce fait, je pense qu'il faut nuancer les commandes suivantes :
L'intérraction entre un utilisateur normal et root se fait soit, selon la distribution, par la commande sudo, soit par la commande su.
su est la commande de base pour effectuer une action sous un autre nom d'utilisateur (l'action peut-être un login, ou une commande complète).
sudo est une encapsulation du la commande su. Son interet est de pouvoir donner des droits particuliers sur l'usage de l'exécution de processus sous le couvert d'une identitée différente. Exemple : autoriser un utilisateur à lancer une sauvegarde oracle, comme s'il etait root.
En bash, lorsque l'on doit effectuer une commande "sensible", et donc la réaliser en root, on tape :
soitCode:sudo "commande"
Et lorsque l'on doit taper plusieurs commandes en mode root, il est parfois utile de se loguer directement en root avec :Code:su -c 'commande'
soit simplementCode:sudo su
Code:su
:salut:
Concernant la commande su, il existe aussi deux façons de l'invoquer.
Qui nous fai devenir Super utilisateur dans l'environnement de celui-ci, ouCode:
1
2 su <mot de passe>
Qui nous fait aussi passer Super Utilisateur mais en récupérant l'environnement root.Code:
1
2 su - <mot de passe>
http://img103.exs.cx/img103/4959/bye1.gif
L'éventuel paramètre de su n'est pas le mot de passe, mais le mon d'utilisateur sur lequel on veut se loguer. Parce que c'est pas forcément en root qu'on veut se loguer. :)
Le - (ou -l ou -login) sert à fournir le même environnement qu'on aurait eut en se loguant directement en tant que l'utilisateur cible.
Il est impossible de passer le mot de passe a "su" comme il l'est pour passwd ou ssh ...
Roulement de tambours...
La FAQ a été mise à jour !! :yaisse2:
:fleche: http://linux.developpez.com/faq/
(déjà en ligne, mais sera annoncé normalement demain)
Si vos contrib n'y figurent pas, merci de laisser un message après le bip et toutes nos excuses par avance :aie:
Si tout est ok, on fera le ménage dans ce topic pour ne pas qu'il devienne trop long.
:merci:
Juste un mot concernant le sudo merci de ne pas faire l'amalgame entre root et sudo (hein Manumation ;) )
sudo n 'est en aucun cas un super utilisateur ou autre !, ne n'est qu'une commande qui attribue temporairement des droits d'admin à un utilisateur lamba ou un groupe d'utilisateur, d'ailleur sudo signifie : "SuperUser DO"
Or il s'avère que sur Ubuntu il est installé par défaut est que celui qui installe la machine est inscrit dans sudo par défaut !
Exemple d'utilisation du sudo :
Passer en root (a utiliser avec moultes précautions):
Exécuter une commande avec des droits d'admin :Code:$ sudo su
Sudo pour application graphique (gnome) :Code:$ sudo <commande>
Sudo pour application graphique (kde) :Code:$ gksudo <application>
Par exemple pour ajouter des privilèges super-utilisateur à un utilisateurCode:$ kdesudo <application>
Je rappelle pour les ubunteros, ne JAMAIS affecter de mot de passe au compte root, il est désactivé, c'est normal ;)Code:$ sudo adduser <login> admin
Un peu de lecture : http://doc.ubuntu-fr.org/sudo
De plus vu sur la FAQ :
Comment lancer des commandes root en étant loggé en tant qu'utilisateur normal ?
"Le paramètre "NOPASSWD" indique à sudo qu'il ne doit demander le mot de passe de l'utilisateur avant de lancer la commande."
C'est aberrant d'insécurité de proposer ça dans la FAQ 8O :cfou:
Voila que pensez-vous de rajouter la distribution RedHat Entreprise sur la FAQ ? ;)
J'ai commencé :yaisse2:
http://www.developpez.net/forums/sho...d.php?t=513304
A venir comment s'inscrire sur le Red Hat Network et utiliser la version au support limité :mouarf:
bonjour à tous, ça fait un moment que j'utilise votre site qui est une mine d'or. C'est pourtant la première fois que je poste.
Un item de la FAQ me semble un peu léger au niveau sécurité :
http://linux.developpez.com/faq/?page=devel#pointslash
Imaginez un petit malin qui place un executable nommé "rm" trafiqué pour utiliser les options "-rf /"par défaut dans le /home d'un utilisateur ... au mieux, tous les fichiers personnels de cet utilisateur seront détruis. Au pire, c'est tout le système qui disparaitra si la commande a été lancée avec les droits d'admin :cry:
c'est une très bonne idée pour une utilisation à la maison mais ça ouvre une faille de sécurité très importante pour une utilisation en entreprise, par exemple.
ça serait bien de le préciser ;)
Je suis assez d'accord pour dire que mettre le . dans le PATH est une assez mauvaise idée.
D'un point de vue sécurité d'une part.
-> Si jamais "." doit se trouver dans le PATH, c'est en tant que dernière entrée uniquement. Sinon, un admin qui se balade dans les répertoires et fait un simple ls risque d'exécuter un programme non prévu.
Ou encore... un simple "[1;2c" sur la ligne de commande après avoir fait un cat d'un fichier binaire. Si on appuie sur entrée, les programmes [1 et 2c vont être cherchés et exécutés. Si ils se trouvent dans le répertoire ".", dommage...
Mais aussi d'un point de vue pédagogique. Combien de fois j'ai vu (à la fac, en TP) des gens taper "test" ou "expr" pour lancer leur programme et passer des heures à chercher le bug parce que rien ne se passe...
-> Mettre "." plus tôt dans le PATH ne serait pas une solution. D'une part à cause des problèmes de sécurité, mais aussi parce que les gens ne devraient pas confondre les commandes et leurs programmes. (Bien que les commandes soient des programmes.)
Bref, je pense que cette entrée de la FAQ devrait être complétée.
Le projet GNU n'a pas pour but de développer des logiciels open source (ils sont contre cette idéologie, comme ils l'expliquent dans l'essai "Open Source Misses The Point") mais un système d'exploitation libre : GNU. Hurd est un noyau, pas un système.
À la FAQ...
sois plus précis : cites ce à quoi tu réponds, je ne vais pas relire tout le sujet pour comprendre ce que tu veux dire.
Je réponds à personne, tu sais pas lire? J'ai mis que je répondais à la FAQ. Je dis su'il y a un problème dans la FAQ, quoi!
donc, personne n'a dit, dans la discussion, que «GNU [a] pour but de développer des logiciels open source», et tu inventes des polémiques, tout seul.
Euh... C'est pas un sujet sur la FAQ?
Qu'est-ce que le projet GNU ?maintenant tu peux dire :Citation:
C'est un projet né en 1984 sous l'initiative de Richard Stallman (et de la Free Software Foundation) dont l'objectif est de développer des logiciels open source.
sinon, on a l'impression que tu sors le truc de ton chapeau...Citation:
Le projet GNU n'a pas pour but de développer des logiciels open source (ils sont contre cette idéologie, comme ils l'expliquent dans l'essai Open Source Misses The Point) mais un système d'exploitation libre : GNU. Hurd est un noyau, pas un système.
Citation:
Envoyé par R. Stallman in «Why Open Source misses the point of Free Software»
Non, puisque je cites l'article "Open Source Misses The Point"
Et puis ça change rien, ce passage est complètement faux.
tu as raison : reste vague, et ne fais pas d'effort pour être intelligible;
ne dis pas exactement de quoi tu parles, et ne donnes pas l'adresse des textes que tu évoques.
Et puis ça change rien, ce passage est complètement faux.
je ne me contente pas de dire ce que je pense de ton attitude, je te donne une méthode pour améliorer ton comportement.
fais pareil, s'il te plaît : critique tant que tu veux, mais propose quelque chose en remplacement, en donnant les adresses des pages auxquelles tu te réfères, et en citant les passages important.
D'accord.
Le projet GNU n'a jamais eu pour but de développer des logiciels open source (c'est du bon sens, pourquoi pas un selfie de dinosaures quand on y est?). Ils sont contre cette idéologie (comme ils le disent dans "Open Source Misses The Point"). Hurd n'est pas un système, c'est un noyau (bon, on va pas prouver qu'un projet dont tout le monde sait que c'est un noyau est un noyau).
Et puis ça change rien, ce passage est complètement faux.
la dernière partie de ce sujet mérite un petit rafraîchissement.
---
Renommer tous les fichiers contenant chaine en chene :
---Code:for f in *chaine*; do mv "$f" "$(echo "$f" | sed 's/chaine/chene/')"; done
En récursif sur une arborescence :
ouCode:
1
2 shopt -s nullglob globstar for f in ./**/*chaine*; do mv "$f" "$(echo "$f" | sed 's/chaine/chene/')"; done
cela mérite quelques explications : quand on appelle sh avec l'option -c, les paramètres positionnels commencent à zéro, c'est-à-dire que le premier argument sera le paramètre positionnel 0 ($0), alors que dans un script $0 est le nom du shell. Pour imiter ce comportement habituel, on ajoute la chaîne sh comme premier argument.Code:find . -type f -name '*chaine*' -execdir sh -c 'echo mv "$1" "$(echo "$1" | sed "s/chaine/chene/")"' sh {} \;
De plus, on utilise -execdir plutôt que -exec, pour éviter [...voir infra l'explication de jack-ft]
---
Il y a même moyen d'effectuer des opérations sur fichier en appelant des scripts externes ; par exemple : changer toutes les option=true en option=false dans tous les fichiers *.conf en récursif en gardant une copie de sauvegarde :
le code semble comporter un lien url vers une image...
---
merci à jack-ft pour l'avoir signalé.
Si jamais un répertoire contient aussi "chaine", ne risque-t-il pas d'être aussi converti ou de faire échouer le renommage des fichiers qu'il contient (suivant l'ordre d'énumération des éléments trouvés par "find")?
Ne vaudrait-il pas mieux utiliser "-execdir" ? (ce qui ne résout pas le problème des fichiers "*chaine*chaine*")
j'ai apporté quelques modifications.
chut ! Jipété n'a rien vu, et je n'irai pas lui dire.
je demande à find de ne remonter que les fichiers (-type f)
je ne vois pas le gain, ici, à utiliser -execdir...
J'dirai rien...
C'est pas pour le plaisir de pinailler (c'est pas mon genre), mais que se passe-t-il si l'arborescence contient un fichier contenant "chaine" dans un répertoire contenant "chaine"?Citation:
je demande à find de ne remonter que les fichiers (-type f)
je ne vois pas le gain, ici, à utiliser -execdir...
Le problème se pose même avec -type f.
Par exemple, si "find" ramène un fichier "./chaines/chaine.txt", on peut supposer que le "sed" va générer un "mv ./chaines/chaine.txt ./chenes/chaine.txt" (vu que le "s///" n'a pas l'option "g"). Et je ne pense pas que ça va marcher! (D'ailleurs même avec "s///g", ça ne marche pas)
Mais avec "-execdir", on élimine ce genre de problème...
mais on ne règle pas complètement le problème des fichiers dont le nom contient plusieurs fois "chaine", dont on ne change qu'une partie du nom (mais c'est peut-être ce qu'on veut).
tu as tout à fait raison; je modifie, en renvoyant à ton explication.
Bonjour,
Je n'ai pas trouver dans la FAQ de référence au paramètre swappiness du noyau. Je propose :
Titre : Comment définir la quantité de RAM avant de faire appel au swap
swappiness est un paramètre du noyau, variant de 0 à 100, qui défini la quantité de mémoire RAM restante avant de basculer sur le swap.
Exemple :
- swappiness = 0 : utilisation du swap uniquement en cas de problème mémoire
- swappiness = 10 : utilisation du swap lorsque 90% de la mémoire RAM est utilisée
- swappiness = 30 : utilisation du swap lorsque 70% de la mémoire RAM est utilisée
- swappiness = 60 : utilisation du swap lorsque 40% de la mémoire RAM est utilisée (valeur par défaut et plutôt élevée)
- swappiness = 80 : utilisation du swap lorsque 20% de la mémoire RAM est utilisée
- swappiness = 100 : utilisation du swap en priorité
La valeur 60 par défaut est un peu exagérée, il n'est pas nécessaire de préserver autant de mémoire sur des machines récentes qui en possèdent déjà beaucoup et sur des petites configurations c'est, par contre, très handicapant. Une valeur de 10 semble bien plus raisonnable.
Pour connaître votre réglage :
Code:cat /proc/sys/vm/swappiness
Pour le modifier de manière persistante donc même après un redémarrage :
Code:
1
2
3 sysctl vm.swappiness=10 swapoff -a swapon -a
Une alternative équivalente : Editer directement le fichier /etc/sysctl.conf pour y ajouter, ou modifier si elle existe déjà, la ligne vm.swappiness=10 puis rebooter le système.
Merci pour vos avis et si ça vous va j'ajoute à la FAQ (Administration puisqu'on y parle du swap justement).
A+
Salut,
Merci Vincent pour cette contribution :ccool:
:merci:
on pourrait ajouter qu'on peut obtenir l'information avec sysctl :ce qui éviterait un UUOC*Code:
1
2 $ sysctl -n vm.swappiness 60
*Useless Use Of Cat ;)
Tu as raison et c'était plus cohérent puisque je faisais un sysctl vm.swappiness=10 par contre j'ai déjà envoyé l'ajout via le formulaire :oops: et je ne sais pas qui gère ça ?
Je vais essayer de préparer un petit truc sur udev ça peut aider ceux qui utilisent des cartes électroniques comme Arduino, LaunchPad, Nucléo, ... sous Linux. Plutôt que d'ajouter les utilisateurs systématiquement dans le groupe dialout mieux vaut faire une règle udev (du moins c'est mon point de vu)
J'ai parcouru rapidement quelques articles de la FAQ et tous ceux que j'ai vus sont obsolètes sur un certain nombre de points, en particulier la liste des applications de qualité qui remonte à 2004 !
Je pourrais en refaire une partie si nécessaire mais je me la mets ou ? En dehors de ça il semble qu'il y-aie un boulot de titan pour tout remettre au goût du jour.
Salut,
Comme dit dans un autre fil, tu peux faire des propositions de corrections ou proposer de nouvelles Q/R dans la section Contribuez et en mettant le tag FAQ. S'il s'agit d'une modification, il suffit juste de donner le lien du Q/R concerné, et après validation par les membres de l'équipe, la modification sera faite.;)
:merci: