file permission in linux code example

Example 1: linux full permission to folder

# Change permissions for the root file/dir only
chmod 777 path/to/directory/
# Or
chmod 777 path/to/file
# Change permission for root dir and all files/dirs within
chmod -R 777 path/to/directory/

Example 2: linux permission

# syntax
# chmod *<Owner-digit>*<Group-digit>*<Others-digit> *<filename>

# example 
chmod 777 FileForEveryone.txt

# --------------------------------------------------------------

# +-------------+---------+---------+---------+
# | Command     | Owner   | Group   | Others  |
# +-------------+---------+---------+---------+
# | chmod 777   |   rwx   |   rwx   |   rwx   |
# | chmod 666   |   rw-   |   rw-   |   rw-   |
# | chmod 555   |   r-x   |   r-x   |   r-x   |
# | chmod 444   |   r--   |   r--   |   r--   |
# | chmod 333   |   -wx   |   -wx   |   -wx   |
# | chmod 222   |   -w-   |   -w-   |   -w-   |
# | chmod 111   |   --x   |   --x   |   --x   |
# | chmod 000   |   ---   |   ---   |   ---   |
# +-------------+---------+---------+---------+
# | chmod 776   |   rwx   |   rwx   |   rw-   |
# | chmod 766   |   rwx   |   rw-   |   rw-   |
# | chmod 765   |   rwx   |   rw-   |   r-x   |
# +-------------+---------+---------+---------+

# ENTITIES
# -------------------------------------------------- +
# Owner:	User that created the file               |
# Group:	Users in the same group as the owner     |
# Others:	The rest of the users on the system      |
# -------------------------------------------------- +

Example 3: how to see permissions for file in linux

ls –l [file_name]

Example 4: set file permissions using code

private function set_perms($file, $is_dir, $permission)
{
  $perm = substr(sprintf("%o", fileperms($file)), -4);
  $dirPermissions = $permission;
  $filePermissions = $permission;

  if($is_dir && $perm != $dirPermissions){
  	chmod($file, octdec($dirPermissions));
  }
  else if(!$is_dir && $perm != $filePermissions){
  chmod($file, octdec($filePermissions));
  }

  flush();
}

$permission = '0777';

$dir = storage_path('framework');

$dp = opendir($dir);

while($file = readdir($dp))
{
	$path = $dir . DIRECTORY_SEPARATOR . $file;
    $is_dir = is_dir($path);
    set_perms($path, $is_dir, $permission);
}