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.
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:
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.
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:
chmod -x <file>
Just like a+x adds execute, a-x removes it.