Change owner, group and permissions (Linux)

Change owner/group

chown [options] ({owner}|:{group}|{owner}:{group}) file

Examples

chown root file.txt        // For file.txt set owner to root
chown -R root:admin folder // For folder (+ items) set owner to root & group to admin

Change permissions

chmod [options] ({mode}|{numeric}) {file}

Mode
– Symbolic

[category]{operator}{permission}

- category
    u ... user
    g ... group
    o ... other
    a ... user, group, other (default)

- operator
    = ... set
    + ... add
    - ... remove

- permission
    r ... read
    w ... write
    x ... execute

– Numeric

0o{triplet}

- triplet
    {octal}{octal}{octal}
       ↑      ↑      ↑
      user  group  other

- octal
    0 ... -
    1 ... x
    2 ... w
    3 ... x, w
    4 ... r
    5 ... x, r
    6 ... w, r
    7 ... x, r, w

    - bits
        {bit_0}{bit_1}{bit_2}
           ↑      ↑      ↑
           x      w      r

Examples

chmod 777 file.txt       // For file.txt set perm. rwx to user, group & other
chmod -R o+r folder      // For folder (+ sub items) add perm. r to other
chmod u=rw,g=rw file.txt // For file.txt set perm. rw to user & group
chmod +x script.sh       // For script.sh add perm. x to user, group & other

Info: To remove a file/directory, you need write-permission on the parent directory.