More
More
chmod 664 rw-rw-r--
chmod 664 (rw-rw-r--): the owner can read and write, the group read and write, others read. Typical use: team files under umask 002. Commands and umask.
- Octal
664(also written0664)- Symbolic
rw-rw-r--- ls -l shows
-rw-rw-r--for a file,drw-rw-r--for a directory- chmod letters
u=rw,g=rw,o=r
Who can do what
| Class | Digit | Bits | On a file | On a directory |
|---|---|---|---|---|
| Owner (u) | 6 | rw- | Read the contents and change or empty the contents | List the names inside, nothing more with write alone (it needs execute to work) and see names only, not open or inspect the files |
| Group (g) | 6 | rw- | Read the contents and change or empty the contents | List the names inside, nothing more with write alone (it needs execute to work) and see names only, not open or inspect the files |
| Others (o) | 4 | r-- | Read the contents | List the names inside and see names only, not open or inspect the files |
Each digit adds read (4), write (2) and execute (1). Deleting or renaming a file depends on write and execute on the directory that holds it, not on the file's own mode. Root bypasses read and write checks.
Typical uses
The owner and the group read and write, others read. New files get it under umask 002, which systems with a private group per user usually give ordinary users. It suits files a team edits together in a shared project.
Security notes
- The group can write, so check who is in the group; adding a user to it gives them write access.
- Every account on the machine can read it, so keep passwords, keys and tokens out of anything with this mode.
Commands
- Numeric
- Symbolic
- Check the result
- Files only, recursively
The umask that gives 664
umask 002: new files are created as 664 (and directories as 775)
Programs create files with 666 and directories with 777, and the umask removes bits from those. A umask never adds execute to a new file, and it cannot set setuid, setgid or the sticky bit.
Its directory counterpart is chmod 775 (rwxrwxr-x).
Other common modes
400r--------, private keys that must not change440r--r-----, read-only config such as sudoers444r--r--r--, read-only files for everyone500r-x------, private read-only scripts550r-xr-x---, read-only programs shared with a group555r-xr-xr-x, read-only programs and directories600rw-------, SSH keys and private files640rw-r-----, config files and logs read by a group644rw-r--r--, web files and normal documents655rw-r-xr-x, a likely typo for 755660rw-rw----, files shared by a group664rw-rw-r--, team files under umask 002666rw-rw-rw-, device files like /dev/null700rwx------, ~/.ssh and private directories710rwx--x---, directories a group may pass through711rwx--x--x, home directories on shared hosting750rwxr-x---, home and app directories for a group755rwxr-xr-x, directories, programs and scripts770rwxrwx---, shared team directories775rwxrwxr-x, shared directories under umask 002777rwxrwxrwx, nothing, almost always a mistake1777rwxrwxrwt, shared temporary directories like /tmp2755rwxr-sr-x, setgid programs and group directories2775rwxrwsr-x, shared team directories that keep a group4755rwsr-xr-x, setuid programs like passwd