1 votes

Définir "Autoriser l'exécution du fichier en tant que programme" par défaut lorsque des fichiers sont ajoutés à un dossier ultérieurement

J'ai un dossier dont je fixe les permissions à l'aide de chmod.

chmod 777 /home/Desktop/Project

c'est le succès.

J'utilise un outil (.exe) qui télécharge le projet depuis le référentiel. Mais une fois le téléchargement terminé, tous les sous-dossiers et fichiers sous /home/Desktop/Project ont les permissions suivantes drw-r--r-- et -r--r--r-- respectivement.

Existe-t-il un moyen de définir les autorisations d'exécution pour tout fichier/dossier dans le répertoire du projet avant de commencer à télécharger dans le dossier du projet ?

Note : L'ensemble du traitement est effectué à l'aide de Python script qui utilise l'outil pour télécharger le projet comme dit ci-dessus. Testé sur Ubuntu 14.04 LTS.

1voto

waltinator Points 32821

Voir man umask . Elle dit, en partie :

trusty (1) umask.1posix.gz
Provided by: manpages-posix_2.16-1_all bug

NAME

       umask - get or set the file mode creation mask

SYNOPSIS

       umask [-S][mask]

DESCRIPTION

       The  umask utility shall set the file mode creation mask of the current
       shell execution environment (see Shell Execution Environment )  to  the
       value specified by the mask operand. This mask shall affect the initial
       value of the file permission bits of  subsequently  created  files.

Ce que cela signifie, c'est que lorsqu'un fichier est créé, il commence en supposant que sa permission sera 777 , rwxwrxwrx , Read, Write and Execute accès pour Owner , Group et World . Mais ensuite, les "bits de mode" (un autre nom pour "bits de permission", mais plus court) sont ANDés avec le COMPLIMENT de l'utilisateur. umask valeur. Si l'on fixe umask 022 (en ~/.bashrc ou dans la Shell courante, pour affecter cette Shell) alors l'opération est :

 777    Original mode bits  0B111111111
 755    Compliment of 022   0B111101101
-----   AND     
 755    The result, rwxr-xr-x (Read, Write, Execute for Owner, Read, Execute for Group and World  

Un autre point commun umask valeur est 027 (PAS d'accès pour le monde).

C'est une idée délicate, qui mérite d'être comprise. Je me souviens avoir été confus pendant des semaines à ce sujet dans les années 1970, lorsque j'ai découvert Unix.

0voto

Sergiy Kolodyazhnyy Points 97292

Ce que vous pouvez faire est d'ajouter cette commande à votre .bashrc comme fonction ou alias, et exécuter cette fonction ou alias avec && opérateur.

En d'autres termes ./pythonscript.py && aliasToChMod

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X