В чем разница между + и = при использовании chmod?
Я читаю все о chmod, но ничего не понимаю. Если я напишу chmod u=rwx file это "влияет" на меня для всех прав на файл, и если я пишу chmod u+rwx file это "добавляет" мне все права на файл, но в чем разница между + а также =?
2 ответа
Решение
Поскольку вы указываете все биты чтения, записи и выполнения, нет никакой разницы.
Разница возникает, если вы укажете только некоторые биты:
$ umask 022
$ touch afile ; ls -l afile
-rw-r--r-- 1 jackman jackman 0 Aug 21 11:23 afile
$ chmod u+x afile; ls -l afile
-rwxr--r-- 1 jackman jackman 0 Aug 21 11:23 afile*
$ chmod u=x afile; ls -l afile
---xr--r-- 1 jackman jackman 0 Aug 21 11:23 afile*
Оператор + вызывает добавление выбранных битов режима файла к существующим битам режима файла каждого файла; - вызывает их удаление; и = вызывает их добавление и приводит к удалению не упомянутых битов, за исключением того, что неизменяемые установленные пользователем биты каталога и идентификаторы группы не затрагиваются.