Régler les permissions

Bonjour,

En voyant le tire vous allez sûrement m’engueuler parce qu’il y a déjà pleins de sujet à propos des permissions mais, malheureusement, je n’ai pas trouver la solution, ça a fait qu’empirer les choses…

Tout a commencé quand j’ai remarqué qu’il m’était impossible de lancer un fichier shell (double-clic sur X.sh), ça me renvoyait une erreure de permission: “… permission non accordée”, j’ai donc copier l’emplacement du script puis je l’ai coller dans le terminal et exécuté en tant que root, même erreure :open_mouth:
(La commande qui est dans le fichier shell marche parfaitement)

Ensuite j’ai regardé sur des autres sites où des personnes avaient le même problème, toujours pas la solution… désormais je ne peux même plus éteindre mon ordinateur, je suis obligé de passer en root puis de taper “poweroff”.
(même chose pour devoir le redémarrer)

Donc ma question est; comment ajouter les permissions pour exécuter les fichiers shell et pouvoir éteindre/redémarrer mon ordinateur ?

Merci d’avance.

Pour ajouter les droits d’exécution par tous sur un fichier :

Pour ajouter les droits d’exécution par le propriétaire et le groupe uniquement :

Pour plus de détails :

[quote=“vv222”]Pour ajouter les droits d’exécution par tous sur un fichier :

Pour ajouter les droits d’exécution par le propriétaire et le groupe uniquement :

Pour plus de détails :

Merci beaucoup, tout remarche :slightly_smiling:

…ou presque, le fichier shell n’a pas la permission de sauvegarder des fichiers :frowning:

Une alternative ?

Ton fichier shell est un script je suppose.
Est-ce toi qui l’as fait ?
Si oui, il devrait t’appartenir et être placé dans un dossier t’appartenant.
Quand je fais un script perso que je veux pouvoir commander directement en tant qu’utilisateur, je le place dans /home/ricardo/mes-scripts avec des droits en 740 voire 700.
Il faut aussi que ce dossier soit inscrit dans le Path, pour que tu puisses appeler directement les scripts qui s’y trouvent.
Sinon, on peut aussi placer ses scripts perso dans /usr/local/bin

EDIT :
pour savoir quels sont les dossiers qui sont dans le path, tu tapes :
$PATH

[quote=“ricardo”]Ton fichier shell est un script je suppose.
Est-ce toi qui l’as fait ?
Si oui, il devrait t’appartenir et être placé dans un dossier t’appartenant.
Quand je fais un script perso que je veux pouvoir commander directement en tant qu’utilisateur, je le place dans /home/ricardo/mes-scripts avec des droits en 740 voire 700.
Il faut aussi que ce dossier soit inscrit dans le Path, pour que tu puisses appeler directement les scripts qui s’y trouvent.
Sinon, on peut aussi placer ses scripts perso dans /usr/local/bin

EDIT :
pour savoir quels sont les dossiers qui sont dans le path, tu tapes :
$PATH[/quote]

J’ai exécuté dans le terminal:

Mon script n’arrive toujours pas sauvegarder :cry:

même chose pour:

[size=85](mon script se trouve sur le bureau)[/size]

Ton script a les droits de l’utilisateur qui l’exécute.
Dans quel dossier doit-il inscrire des données ?
Quel est l’utilisateur que le démarre ?

[quote=“debianhadic”]Ton script a les droits de l’utilisateur qui l’exécute.
Dans quel dossier doit-il inscrire des données ?
Quel est l’utilisateur que le démarre ?[/quote]

Il écrit dans un fichier texte qui est dans le même dossier que lui. En exécutant le fichier en tant que root tout marche.

Donc c’est soit le fichier qui existait déjà avec des autorisations incompatible avec ton user, soit le dossier dans lequel il doit écrire qui n’a pas les droits sur ce user.
Donne le résultat de :

$ ls -rtl <Le nom du dossier>
$ ls -rtl <Le nom du fichier>

Conseil d’ordre général : n’abuse pas des jokers [mono]////[/mono]. Dans ta commande chmod tu en cumules une dizaine. Pas étonnant que ça ne passe pas au-delà du troisième joker * …

Si le script n’est pas exécutable :

Quel est le shebang du script (#! /bin/sh )?
Pourrions-nous voir ce fameux script qui plante s’il n’est pas trop long ?

[quote=“debianhadic”]Donc c’est soit le fichier qui existait déjà avec des autorisations incompatible avec ton user, soit le dossier dans lequel il doit écrire qui n’a pas les droits sur ce user.
Donne le résultat de :

$ ls -rtl <Le nom du dossier> $ ls -rtl <Le nom du fichier> [/quote]

j’obtiens: -rwxrwxrwx 1 lpk2 root 87 jun 10 18:16 starter.sh

[quote=“etxeberrizahar”]Conseil d’ordre général : n’abuse pas des jokers [mono]////[/mono]. Dans ta commande chmod tu en cumules une dizaine. Pas étonnant que ça ne passe pas au-delà du troisième joker * …

Si le script n’est pas exécutable :

Quel est le shebang du script (#! /bin/sh )?
Pourrions-nous voir ce fameux script qui plante s’il n’est pas trop long ?[/quote]

mon script exécute un jar qui lui doit pouvoir sauvegarder un fichier texte.

Et il n’y a pas de shebang.

Quand j’exécute le script en tant que root, tout marche.

[quote=“LPK2”][quote=“debianhadic”]Donc c’est soit le fichier qui existait déjà avec des autorisations incompatible avec ton user, soit le dossier dans lequel il doit écrire qui n’a pas les droits sur ce user.
Donne le résultat de :

$ ls -rtl <Le nom du dossier> $ ls -rtl <Le nom du fichier> [/quote]

j’obtiens: -rwxrwxrwx 1 lpk2 root 87 jun 10 18:16 starter.sh
[/quote]
La tu me donnes uniquement les droits sur le script, ce n’est pas ce que je demande !
Je veux les droits du dossier et du fichier texte que tu as créé.

[quote=“debianhadic”][quote=“LPK2”][quote=“debianhadic”]Donc c’est soit le fichier qui existait déjà avec des autorisations incompatible avec ton user, soit le dossier dans lequel il doit écrire qui n’a pas les droits sur ce user.
Donne le résultat de :

$ ls -rtl <Le nom du dossier> $ ls -rtl <Le nom du fichier> [/quote]

j’obtiens: -rwxrwxrwx 1 lpk2 root 87 jun 10 18:16 starter.sh
[/quote]
La tu me donnes uniquement les droits sur le script, ce n’est pas ce que je demande !
Je veux les droits du dossier et du fichier texte que tu as créé.[/quote]

désolé j’ai mal lu ^^’

dossier: -rwxr-xr-x 1 lpk2 root 20453584 jun 10 18:17 projet.jar -rwxr-xr-x 1 root root 317 jui 10 13:29 projet.yml -rwxrwxrwx 1 lpk2 root 87 jun 10 18:16 starter.sh

fichier: -rwxr-xr-x 1 root root 317 jui 10 13:29 projet.yml

Donc à moins que ton utilisateur soit lpk2 personne d’autre ne peut écrire dans ce dossier (je ne compte pas root)
Et maintenant que tu as créés le fichier avec root (projet.yml) seul root peut le modifier, le supprimer …

[quote=“debianhadic”]Donc à moins que ton utilisateur soit lpk2 personne d’autre ne peut écrire dans ce dossier (je ne compte pas root)
Et maintenant que tu as créés le fichier avec root (projet.yml) seul root peut le modifier, le supprimer …[/quote]

donc je dois faire un chmod sur le fichier ?

Ou un
chown :toi

  • un
    chmod 770