Краткое описание: эта статья научит вас, как изменять разрешения в Linux, на практических примерах команды chmod.
Рано или поздно в мире Linux вам придется изменить разрешение для файла или каталога. Это делается с помощью команды chmod.
В этой статье мы поделимся с вами некоторыми практическими примерами команды chmod. А также объясним некоторые популярные термины, такие как chmod 777 или chmod 755 или chmod -r.
Прежде чем вы увидите примеры chmod, мы настоятельно рекомендуем вам изучить основы прав доступа к файлам в Linux. Использование команды chmod будет намного проще, когда вы поймете права доступа.
Что такое CHMOD? chmod обозначает режим изменения. Эта команда используется для изменения режима доступа.
Но подождите! Разве это не предназначено для изменения разрешения? На самом деле, в первые дни Unix разрешения назывались режимом доступа. Вот почему эта конкретная команда была названа chmod.
Команда chmod имеет следующий синтаксис:
chmod [option] mode file
Прежде чем вы увидите, как использовать chmod, вы должны знать его параметры.
Обратите внимание, что опцию -v применяйте, если были внесены изменения или ничего не нужно было делать. В сочетании с параметром -R , -v может выдавать много результатов. –Reference = FILE позволяет использовать текущий режим разрешений FILE в качестве разрешений, устанавливаемых для целевого файла. Обратите внимание, что для этого параметра требуется использовать префикс двойной тире (-), а не (-).
Использование команды chmod очень просто, если вы знаете, какие права доступа вы должны установить для файла.
Например, если вы хотите, чтобы владелец имел все разрешения и не имел разрешений для группы и публики, вам нужно установить разрешение 700 в абсолютном режиме:
chmod 700 filename
Вы можете сделать то же самое в символическом режиме.
chmod u=rwx filename
Если вам нужен простой способ узнать разрешение файла Linux в числовом или символьном режиме, вы можете использовать этот калькулятор chmod. Просто выберите соответствующие разрешения, и они сообщат вам разрешения как в абсолютном, так и в символическом режиме.
У chmod есть рекурсивная опция, которая позволяет вам изменять права доступа ко всем файлам в каталоге и его подкаталогах.
chmod -R 755 directory
Возможно, вы слышали о chmod 777. Эта команда предоставит права на чтение, запись и выполнение владельцу, группе и общедоступным.
Если вы хотите изменить режим на 777, вы можете использовать следующую команду:
chmod 777 filename
chmod 777 считается потенциально опасным, поскольку вы даете разрешение на чтение, запись и выполнение файла/каталога всем (кто находится в вашей системе). Вы должны полностью избежать этого.
Вероятно, один из наиболее часто используемых случаев chmod — дать файлу бит выполнения. Часто после загрузки исполняемого файла вам необходимо добавить это разрешение перед его использованием. Чтобы дать владельцу, группе и всем остальным разрешение на выполнение файла:
chmod +x /path/to/file
Эта следующая команда установит следующее разрешение для файла: rwxr-xr-x. Только владельцу будет разрешено писать в файл. Владелец, члены группы и все остальные будут иметь разрешение на чтение и выполнение.
chmod 755 /path/to/file
Эта команда предоставит владельцу права на чтение, запись и выполнение. Группа и другие не будут иметь никаких разрешений, даже читать.
chmod 700 /path/to/file
Чтобы дать владельцу, группе и всем остальным права на чтение и запись в файл.
chmod -c 666 /path/to/file
С этим следующим, владелец будет иметь право на чтение и запись, в то время как группа и все остальные имеют разрешение на чтение.
chmod 644 /path/to/file
С этим следующим, владелец будет читать и писать, в то время как группа и все остальные не будут иметь никаких разрешений вообще.
chmod 600 /path/to/file
В приведенных выше примерах мы использем битовую маску для установки нового РЕЖИМА. Это легко рассчитать. Требуется простое дополнение. Учтите следующее:
Теперь вы можете легко увидеть, откуда у нас 755, 666, 640 . Вам не нужно использовать битовую маску для установки нового разрешения. Доступен более читабельный способ. Этот второй формат выглядит так:
chmod OPTIONS {u,g,o}{+,-,=}{r,w,x} /path/to/file
Хотя это может показаться сложным, это довольно просто. Сначала вы набираете chmod и нужные вам ОПЦИИ. Затем спросите себя: для кого я меняю права доступа? Пользователь, Группа, Другие. Это даст вам первый раздел команды:
chmod OPTIONS {u,g,o}
На следующем шаге для завершения команды вы решаете добавить биты прав доступа (+), удалить права доступа (-) или установить разрешение (=). Последнее добавит или удалит разрешения по мере необходимости, чтобы установить разрешение по вашему запросу.
chmod -v u+
В следующем разделе вы решаете РЕЖИМ разрешения применить (+), удалить (-) или сопоставить (=). Вы можете указать любую комбинацию RWX.
chmod -v u+rw
В следующем примере будет применено разрешение на чтение/запись для файла для владельца. Подробная опция заставит chmod сообщать о действии.
chmod -v u+rw /path/to/file
Следующим будет установлено разрешение на запись группы в каталог и все его содержимое рекурсивно. Он будет сообщать только об изменениях.
chmod -cR g+w /path/to/directory
Вы можете объединить несколько операций, которые будут выполнены с разрешения, как в следующем примере. Он убедится, что владелец имеет права на чтение/запись/выполнение, а также добавит разрешение на запись для группы и удалит выполнение для всех остальных:
chmod u=rwx,g+w,o-x /path/to/file
Этот последний будет использовать rFile в качестве ссылки для установки разрешения на файл . После завершения разрешение файла будет точно таким же, как и для rFile.
chmod --reference=/path/to/rFile /path/to/file
Есть больше опций и режимов, которые можно использовать с chmod, которые не описаны или не упомянуты здесь. Мы хотели сохранить это в общих чертах и, надеюсь, помочь нескольким новым пользователям Linux.
С помощью chmod и sudo вы теперь можете изменить разрешение практически для любых файлов. Это НЕ означает, что вы должны это сделать. Разрешения за пределами вашего домашнего каталога установлены так, как они есть по вполне понятной причине. Изменение их редко является подходящим решением любых проблем.
Мы надеемся, что эти примеры команд chmod были полезны для вас. Есть вопрос или предложение? Пожалуйста, оставьте комментарий ниже.