Делаете Python-скрипт исполняемым chmod755? - PullRequest
4 голосов
/ 25 мая 2009

Мой хостинг-провайдер говорит, что мой скрипт на python должен быть исполняемым (chmod755). Что это значит и как мне это сделать?

Ура!

Ответы [ 5 ]

5 голосов
/ 25 мая 2009

Unix-подобные системы имеют «файловые режимы», которые говорят, кто может читать / писать / выполнять файл. Режим 755 означает, что владелец может читать / писать / выполнять, а все остальные могут читать / выполнять, но не могут писать. Чтобы ваш скрипт Python имел этот режим, вы набираете

chmod 0755 script.py

Тебе также нужен шебанг, как

#!/usr/bin/python

в самой первой строке файла, чтобы сообщить операционной системе, что это за скрипт.

5 голосов
/ 25 мая 2009

Если у вас есть ssh доступ к вашему веб-пространству, подключитесь и выполните команду

chmod 755 nameofyourscript.py

Если у вас нет доступа по ssh, но вы подключаетесь по FTP, проверьте ваше приложение FTP, чтобы узнать, поддерживает ли оно установку разрешений.

Что касается значения 755:

  • первая цифра - настройки пользователя (вы сами)
  • вторая цифра - это групповые настройки
  • третья цифра - остальная часть системы

Цифры создаются путем добавления значений разрешений. 1 = исполняемый файл, 2 = доступный для записи и 4 = читаемый. То есть 755 означает, что вы сами можете прочитать, записать и выполнить файл, а все остальные могут прочитать и выполнить его.

1 голос
/ 25 мая 2009

Это означает, что кто-то (пользователь, группа или каждый) имеет право на выполнение (или чтение или запись) сценария (или файла в целом).

Разрешения выражаются по-разному:

$ 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)

Вы можете удалить разрешения таким же образом, просто замените + на -

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

Восьмеричные числа выражают то же самое по-другому. 4 чтение, 2 письма, 1 исполнение.

простая математика:

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

собрал все в одну короткую и приятную команду:

# 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
0 голосов
/ 25 мая 2009

Помимо других хороших ответов здесь, вы должны знать, что большинство FTP-клиентов имеют команду chmod, позволяющую вам устанавливать разрешения для файлов на сервере. Возможно, вам это не понадобится, если разрешения получаются правильно, но есть большая вероятность, что они этого не делают.

0 голосов
/ 25 мая 2009

на оболочке (например, bash), просто наберите

chmod 755 file.py

чтобы сделать его исполняемым. Вы можете использовать

ls -l file.py

чтобы убедиться, что установлено разрешение на выполнение ("x" в "rwxr-xr-x")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...