Example 1: debian give write permission
sudo chmod -R 757 /var/www
Example 2: bash how do permissions work
# How permissions/changing permissions works in linux. Permissions are
# generally listed in a format like rwxrw-r--, where r, w, x, and -
# stand for read, write, execute, and no permission respectively. There
# are basically three groups of rwx permissions: user, group, others
# and depending on your relationship to the files, you might be any one
# of these.
# To change file permissions, (e.g. chmod ### file), you need to
# indicate three decimal digits (0-7) which specify the three sets
# of permissionswhen converted to binary. Briefly, a decimal number
# between 0 and 7 can be represented by a three digit binary string.
# The binary string sets the permissions by treating 1 as "true" or
# permission granted and 0 as "false", or permission denied. See the
# table below for all the conversions and their meanings:
Decimal Binary Permission Permission meaning
7 111 rwx read, write, and execute
6 110 rw- read and write
5 101 r-x read and execute
4 100 r-- read only
3 011 -wx write and execute
2 010 -w- write only
1 001 --x execute only
0 000 --- none
Example 3: change the permissions of a folder in linux
sudo chmod -R 757 <file>
Example 4: chmod usage
The three rightmost digits define permissions for the:
file user, the group, and others.
Example usage: sudo chmod 777 testfile.txt
# Permission rwx Binary
7 read, write and execute rwx 111
6 read and write rw- 110
5 read and execute r-x 101
4 read only r-- 100
3 write and execute -wx 011
2 write only -w- 010
1 execute only --x 001
0 none --- 000
Example 5: linux chmod permissions
The three rightmost digits define permissions for the:
file user, the group, and others.
# Permission rwx Binary
7 read, write and execute rwx 111
6 read and write rw- 110
5 read and execute r-x 101
4 read only r-- 100
3 write and execute -wx 011
2 write only -w- 010
1 execute only --x 001
0 none --- 000
Example 6: running chmod command using code
private function chmod_r($dir, $permission)
{
$dp = opendir($dir);
while($file = readdir($dp))
{
if (($file == ".") || ($file == "..")) continue;
$path = $dir . DIRECTORY_SEPARATOR . $file;
$is_dir = is_dir($path);
$this->set_perms($path, $is_dir, $permission);
if($is_dir) {
$this->chmod_r($path, $permission);
}
}
closedir($dp);
}
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');
$this->chmod_r($dir, $permission);