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);
}