How to set a file as NOT executable?
I want to toggle off the executable bit of a Linux executable. I know that I can set a+x
to make it executable, but I can't set it as not executable.
Google omits "not" from searches.
Solution 1:
Just FYI.
CHMOD is used to change permissions of a file. PERMISSION COMMAND
U G W
rwx rwx rwx chmod 777 filename
rwx rwx r-x chmod 775 filename
rwx r-x r-x chmod 755 filename
rw- rw- r-- chmod 664 filename
rw- r-- r-- chmod 644 filename
U = User
G = Group
W = World
r = Readable
w = writable
x = executable
- = no permission
Here is another way of looking at it:
Permissions:
400 read by owner
040 read by group
004 read by anybody (other)
200 write by owner
020 write by group
002 write by anybody
100 execute by owner
010 execute by group
001 execute by anybody
To get a combination, just add them up. For example, to get read, write, execute by owner, read, execute, by group, and execute by anybody, you would add 400+200+100+040+010+001 to give 751.
Solution 2:
Easiest way without changing other settings: chmod -x file
.
From man chmod:
mode ::= clause [, clause ...] clause ::= [who ...] [action ...] action action ::= op [perm ...] who ::= a | u | g | o op ::= + | - | = perm ::= r | s | t | w | x | X | u | g | o
Notice the three options in op: +
, -
and =
Solution 3:
Simply use: chmod -x <file>
Solution 4:
Just like a+x adds execute, a-x removes it.