Команда `chmod` используется для настройки прав доступа к файлам для чтения, записи и выполнения для владельца, группы и других.

chmod это сокращение от режима изменения. Режим файла - это набор разрешений, прикрепленных к нему, которые контролируют доступ:

разрешений

Настройки разрешений по-разному влияют на обычные файлы и каталоги:

файлы и каталоги сравниваются

chmod Также можно установить специальные разрешения setuid, setgid и sticky bit.

chmod Команды могут быть даны в символической записи:

u = file owner
g = file group owner
o = everyone else
a = all of the above

Примеры:

chmod u+x        #give owner only execute permission
chmod o-w        #remove global write permission
chmod g=r        #set group permission to read only
chmod u+w,go=rx  #give owner write permission & set permissions for group and others to read & execute only
chmod g+s        #add the setgid bit

Восьмеричное обозначение также может быть использовано. Отсутствующая цифра будет интерпретироваться как ведущий ноль, поэтому chmod 1 file такой же как chmod 0001 file Последние три цифры относятся к трем разделам режима и действуют следующим образом:

1 = x only
2 = w only
3 = w and x
4 = r only
5 = r and x
6 = r and w
7 = r w and x

Первая цифра применяет специальные разрешения:

1 = sticky bit
2 = setgid
4 = setuid

Примеры:

chmod 644   #owner may read and write, group & others only read
chmod 755   #owner may read write and execute, group & others read and execute
chmod 2750  #setgid, owner may read write and execute, group may read and execute, others have no permissions

Команда принимает несколько имен файлов в качестве аргументов:

chmod 744 foo bar baz  #gives the owner rwx and all others r only on the files foo bar and baz

Он также имеет -R рекурсивный флаг, но для файлов и каталогов необычно требовать одинаковые разрешения.