Users and rights

From WickyWiki
Revision as of 08:09, 29 December 2017 by Wilbert (talk | contribs)


Introduction

Files and directories on the Linux system belong to an owner and a group. You can set read, write and execute permissions on a file or directory for owner, group and others. Users can belong to one or more groups. The command chmod is used to set the permissions, the command chown to change the owner and the command chgrp to change the group.

Show ownership and permissions

ls -l /path/to/files/*

Example output:

Directory User Group Other Number of links Owner Group Size Modified date/time Object name
- rwx rw- r-- 1 wilbert users 464843 Apr 6 16:09 file1.txt
- rwx rwx r-- 1 wilbert users 1398792 Apr 6 16:09 file2.sh
d rwx rw- r-- 2 wilbert users 4096 Apr 17 23:16 directory
- rwx rw- r-- 2 wilbert users 93 Apr 17 23:16 link_to_file1.txt

Add, remove and modify users and groups

Disable (lock) the root account:

sudo passwd -l root

Enable the root account by specifying a password for it:

sudo passwd

Add a user account and home folder, delete user:

sudo adduser username

Delete user:

sudo deluser username

Lock (l) or unlock (u) a user account:

sudo passwd -l username
sudo passwd -u username

Add or delete a personalized group:

sudo addgroup groupname
sudo delgroup groupname

Add a user to a group:

sudo adduser username groupname

Change permissions on files and directories

Flag method

User/group:

  • u user/owner
  • g group
  • o other

Permissions:

  • r read
  • w write
  • x execute

Options:

  • -R full recursive
  • + add permission
  • - remove permission

Examples:

sudo chmod -R u+rwx /path/to/files
sudo chmod -R go-x /path/to/files

Octal method

There are four OCTAL (0..7) digits, which control permissions. Mostly only three are used, for more info on the first digit:

Permissions:

1 = execute (x)
2 = write (w)
4 = read (r)

The octal number is the sum of those free permissions, i.e.

1+2+4 = 7 : can execute, write and read
  2+4 = 6 : can write and read

Permissions are set for owner, group and others, depending on the position of the digit:

who: owner group others
may: x w r x w r x w r
add: 1 2 4 1 2 4 1 2 4

Examples:

chmod 600 file – owner r,w
chmod 700 file – owner r,w,x
chmod 777 file – all can r,w,x

Change ownership of files and directories

Note: option -R (recursive) applies the change all files and (sub)directories.

Owner:

sudo chown user /path/to/file_or_dir
sudo chown -R user /path/to/dir

Group:

sudo chgrp -R group /path/to/file_or_dir
sudo chgrp -R group /path/to/dir