Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Изменение прав доступа к файлу
Для установки (изменения) прав доступа к файлу используется команда chmod. Она имеет следующий синтаксис:
chmod [ -fR ] абсолютные_права файл ...
chmod [ -fR ] символьное_изменение_прав файл ...
Команда chmod устанавливает права доступа к указанным файлам. Права доступа к файлу может изменять или устанавливать только его владелец или пользователь root. Опция -f означает, что команда не будет сообщать о невозможности установки прав доступа. Опция -R означает, что заданное изменение прав доступа будет применяться рекурсивно для всех подкаталогов, указанных в списке файлов.
Абсолютные права доступа задаются восьмеричным числом, расчет которого (в соответствии с табл. 11) описан в предыдущем разделе. Описанию синтаксиса, используемого для задания символьного изменения прав доступа, посвящен следующий подраздел.
Символьное представление изменения прав доступа
Символьное изменение прав доступа задается в виде списка, через запятую, выражений следующего вида:
[пользователи] оператор [права]
Компонент пользователи определяет, для кого задаются или изменяются права. Он может иметь значения u, g, o и a, задающие изменения прав для владельца, группы, прочих пользователей и всех категорий пользователей. Если пользователи не указаны, права изменяются для всех категорий пользователей. Однако при этом не переопределяются установки, задаваемые маской создания файлов (umask).
Компонент оператор может иметь значения +, - или =, означающие добавление, отмену права доступа и установку в точности указанных прав, соответственно. Если после оператора = права не указаны, все права доступа для соответствующих категорий пользователей отменяются.
Компонент права задается в виде любой совместимой комбинации следующих символов:
r право на чтение
w право на запись
x право на выполнение
l блокирование изменения прав доступа
s выполнение с эффективным идентификатором владельца или группы-владельца
t клейкий бит
Не все сочетания символов для компонента пользователи и компонента права допустимы. Так, s можно задавать только для u или g, а t - только для u. Права x и s не совместимы с l и т.д.
Изменения прав доступа в списке выполняются последовательно, в порядке их перечисления.
Рассмотрим пример изменения прав доступа:
[kravchuk@arturo 10:51:43 /]$ cd /tmp
[kravchuk@arturo 10:51:46 /tmp]$ >f1.txt
[kravchuk@arturo 10:52:01 /tmp]$ chmod +w f1.txt
[kravchuk@arturo 10:52:13 /tmp]$ ls -l *.txt
-rw-r--r-- 1 kravchuk 50 0 Мар 27 10:52 f1.txt
[kravchuk@arturo 10:52:17 /tmp]$ chmod a+w f1.txt
[kravchuk@arturo 10:52:32 /tmp]$ ls -l *.txt
-rw-rw-rw- 1 kravchuk 50 0 Мар 27 10:52 f1.txt
[kravchuk@arturo 10:52:33 /tmp]$ chmod u+x,g=x,o= f1.txt
[kravchuk@arturo 10:53:18 /tmp]$ ls -l *.txt
-rwx--x--- 1 kravchuk 50 0 Мар 27 10:52 f1.txt
[kravchuk@arturo 10:53:20 /tmp]$ chmod ug-x,og+r,u=rwx f1.txt
[kravchuk@arturo 10:54:46 /tmp]$ ls -l *.txt
-rwxr--r-- 1 kravchuk 50 0 Мар 27 10:52 f1.txt
[kravchuk@arturo 10:55:15 /tmp]$ chmod 644 f1.txt
[kravchuk@arturo 10:55:23 /tmp]$ ls -l *.txt
-rw-r--r-- 1 kravchuk 50 0 Мар 27 10:52 f1.txt
Рассмотрим еще один пример, показывающий значение и изменение прав доступа к каталогу:
[kravchuk@arturo 11:05:38 /tmp]$ ls -l | grep d1
drw-r--r-- 2 kravchuk 50 108 Мар 26 17:39 d1
[kravchuk@arturo 11:05:47 /tmp]$ cd d1
bash: cd: d1: Permission denied
[kravchuk@arturo 11:05:57 /tmp]$ chmod 744 d1
[kravchuk@arturo 11:06:26 /tmp]$ cd d1
[kravchuk@arturo 11:06:27 /tmp/d1]$ cd ..
[kravchuk@arturo 11:06:39 /tmp]$ chmod -w d1
[kravchuk@arturo 11:06:51 /tmp]$ cd d1
[kravchuk@arturo 11:06:58 /tmp/d1]$ ls
f3.txt
[kravchuk@arturo 11:06:59 /tmp/d1]$ rm f3.txt
rm: f3.txt not removed: Permission denied
Надо писать chmod 666 папка1, а не chmod папка1 666. Иначе чмoд воспринимает параметр "папка1" как свой собственный аргумент.Просто если пишу chmod папка1 666 <...>
А какая разница-то? В винде нету чмoда, а во всех *никс-осях везде одно и то же, потому что posix-стандарт един для всех.Напиши в какой проге или ОСи, ты хочешь менять права.
Во-первых, в /tmp по-дефолту итак права на запись всем. Для того эта папка и нужна. А если делать рекурсивный чмoд когда там уже что-то есть, вполне вероятно компрометирование информации и, как следствие, раскрытие конфиденциальных данных. Ведь, как известно, многие софтины хранят временные данные в /tmp с правильными правами (доступными только юзеру, запустившему приложение). И если софт запущен от рута и в /tmp есть какая-то важная инфа (раскрытие связки юзер/пасс, важные конфиги, etc.), тот, кому понадобится, может с легкостью просмотреть всю эту информацию. Поэтому не вздумайте вообще такое запускать. Головой думать надо.chmod -R 777 /tmp в тмп будет доступ у всех