What is the difference between `chmod go-rwx` and `chmod 700`
There could be a difference:chmod 700
lets the owner read , write and execute, and gives no permissions for Group and Other.
chmod go-rwx
removes read/write/execute permissions from group and others, but preserves whatever permissions the owner had.
So, for example, if the owner didn't have execute permission on the file, to begin with, and only had read and write, the result could be different. With chmod 700
, the owner would also get execute permission, which he would not with chmod go-rwx
.
go-rwx
removes read, write, execute permissions from the group and other users. It will not change permissions for the user that owns the file.
Therefore e.g. a file with 644 (rw-r--r--
) permissions will have 600 (rw------
) after the command.
chmod 700
on the other hand will always change the permissions to 700 (rwx------
), no matter the previous permissions.
So it depends on what you want to accomplish.
Notes:
- Especially when using
-R
to change entire directories, this makesgo-rwx
more useful, as the executable flag is usually only wanted on folders (so they can be entered) and program files that need to be executed. Using700
would add the executable flag to all files that don't have it yet, which is usually not what you'd want to do. - What the general effect of
chmod 700
would actually look like in the other notation ischmod u+rwx,go-rwx
orchmod u=rwx,go=
(grants all permissions to user that owns file, removes all permissions of group and other) - Not all versions of chmod support the
ugo±rwx
syntax scheme.