2009-05-25 10 views
4

Mon fournisseur d'hébergement dit que mon script python doit être rendu exécutable (chmod755). Qu'est-ce que cela signifie & comment puis-je le faire?Faire un script Python exécutable chmod755?

À la votre!

+1

Cela signifie « lisible et exécutable par tout le monde, inscriptible par le propriétaire seulement ». Si vous avez un accès shell, la réponse de @Jian Lin est très bien; Sinon, peut-être que votre fournisseur laisse les bits de permission intacts sur les téléchargements (auquel cas vous devez les définir avant de les télécharger) - si aucun de vos fournisseurs ne doit documenter comment configurer les bits d'autorisation pour leur installation particulière. –

Répondre

5

Si vous avez accès ssh à votre espace web, connectez-vous et l'émission

chmod 755 nameofyourscript.py 

Si vous n'avez pas accès ssh, mais plutôt connecter par FTP, vérifiez votre application FTP pour voir si elle prend en charge la définition des autorisations.

Quant au sens de 755:

  • premier chiffre est les paramètres utilisateur (vous-même)
  • deuxième chiffre est un groupe paramètres
  • troisième chiffre est le reste du système

Les chiffres sont construits en ajoutant les valeurs de permision. 1 = exécutable, 2 = accessible en écriture et 4 = lisible. C'est à dire. 755 signifie que vous-même pouvez lire, écrire et exécuter le fichier et que tout le monde peut le lire et l'exécuter.

+0

Merci pour toutes les réponses, très utile !!!!!!! – Solihull

0

sur la coque (comme bash), tapez simplement

chmod 755 file.py 

pour le rendre exécutable. Vous pouvez utiliser

ls -l file.py 

pour vérifier l'autorisation d'exécution est définie (le "x" dans "rwxr-xr-x")

5

systèmes Unix ont des "modes de fichiers" qui disent qui peut lire/écrire/exécuter un fichier. Le mode 755 signifie que le propriétaire peut lire/écrire/exécuter, et que tout le monde peut lire/exécuter mais pas écrire. Pour que votre script Python ont ce mode, vous tapez

chmod 0755 script.py 

Vous devez également tralala comme

#!/usr/bin/python 

sur la première ligne du fichier pour indiquer au système d'exploitation quel type de script, il est .

0

En plus des autres bonnes réponses ici, vous devez savoir que la plupart des clients FTP ont une commande chmod pour vous permettre de définir des autorisations sur les fichiers sur le serveur. Vous n'aurez peut-être pas besoin de cela si les autorisations sont correctes, mais il y a de fortes chances qu'elles ne le soient pas.

1

Cela signifie que quelqu'un (l'utilisateur, un groupe ou tout le monde) a le droit d'exécuter (ou de lire ou d'écrire) le script (ou un fichier en général).

Les autorisations sont exprimées de différentes manières:

$ chmod +x file.py # makes it executable by anyone 
$ chmod +w file.py # makes it writeabel by anyone 
$ chmod +r file.py # makes it readably by anyone 

$ chmod u+x file.py # makes it executable for the owner (user) of the file 
$ chmod g+x file.py # makes it executable for the group (of the file) 
$ chmod o+x file.py # makes it executable for the others (everybody) 

Vous pouvez enlever les autorisations de la même manière, remplacer tout le + par un -

$ chmod o-x file.py # makes a file non-executable for the others (everybody) 
$ ... 

numéros Octal expriment la même chose dans un autrement. 4 est en train de lire, 2 écrit, 1 exécution.

mathématiques simples

:

read + execute = 5 
read + write + execute = 7 
execute + write = 3 
... 

remballés dans une commande courte et douce:

# 1st digit: user permissions 
# 2nd digit: group permissions 
# 3rd digit: 'other' permissions 

# add the owner all perms., 
# the group and other only write and execution 

$ chmod 755 file.py 
Questions connexes