28
# ./scripts/replace-md5sums.py
bash: ./scripts/replace-md5sums.py: Permission denied

replace-md5sums.py has chmod 600

# ls -l ./scripts/replace-md5sums.py
-rw------- 1 ubuntu ubuntu 661 2011-04-27 16:30 ./scripts/replace-md5sums.py
Paolo
  • 20,112
  • 21
  • 72
  • 113
r9s
  • 281
  • 1
  • 3
  • 4

9 Answers9

25

You should be able to run the script typing:

$ chmod 755 ./scripts/replace-md5sums.py
$ ./scripts/replace-md5sums.py

There are times where the user you are currently logged with just don't have the permission to change file mode bits. In such cases if you have the root password you can change the file permission this way:

$ sudo chmod 755 ./scripts/replace-md5sums.py
Paolo
  • 20,112
  • 21
  • 72
  • 113
  • 2
    If you don't like to give the `x` flag you can use 744. Here to run the script you have to type `python ./scripts/replace-md5sums.py` explicitly. – Paolo Apr 28 '11 at 17:06
17
  • In the terminal enter: chmod u+x script name with the '.py' extension in the end.
  • Remember, u stands for user and x read, write and execute actions to the file.
  • Keep in mind as well the line which must go on top of your Python script which is: #!/usr/bin/python3.9 Going on root you can easily identify what the python version and path is.
  • Now re-execute it again.
Community
  • 1
  • 1
abhishek phukan
  • 751
  • 1
  • 5
  • 16
8

Mount your Windows partition with "exec" option - on some distros it's "noexec" by default.

dos
  • 81
  • 4
6

I solved my problem. it's just the version of python which the interpreter reads off the first line. removing to version numbers did it for me, i.e.

#!/usr/bin/python2.7 --> #!/usr/bin/python
animuson
  • 53,861
  • 28
  • 137
  • 147
Tony
  • 77
  • 1
  • 1
3

Try this

python ./scripts/replace-md5sums.py
kalehmann
  • 4,821
  • 6
  • 26
  • 36
bhanu k
  • 31
  • 1
0

I'm a Ubuntu user and I had the same issue, when I was trying to run python script through a bash script while files were located in a NTFS partition (even with su didn't work) then I've moved it home (ext4) then it worked.

Thushan
  • 1,220
  • 14
  • 14
0

Okay, so first of all check if you are in the correct directory where your python script is located.
On the net, they say to run the command :

python3 your_file_name.py

But it doesn't work.
What worked for me however was:

python -u my_file_name.py
Vivek Hotti
  • 69
  • 2
  • 9
-1

Check for id. It may have root permissions.

So type su and then execute the script as ./scripts/replace-md5sums.py.

It works.

Paolo
  • 20,112
  • 21
  • 72
  • 113
Swetha
  • 746
  • 10
  • 19
-1
#strace ./scripts/replace-md5sums.py