Что более широко используется: chmod 777 или chmod a + rwx

Как установить права 777?

Зная, что вышеописанный атрибут позволяет пользователю расшифровку числового обозначения, выставить его не составит большого труда. Чтобы сделать это, потребуется любой файловый менеджер, поддерживающий FTP-соединение с сервером, зайти на который возможно от имени администратора.

Ответ на вопрос о том, как установить права доступа 777 на папку, ничем не отличается от инструкции для файла: на сервере следует выделить желаемый объект и вызвать контекстное меню кликом по правой клавише мыши. Далее – выбрать «файл» и «изменить атрибуты».

В открывшемся окне менеджера нужно вбить комбинацию цифр или же поставить галочки напротив пунктов для каждой из групп пользователей. Для серверной системы Unix также предусмотрен более простой способ, требующий лишь ввода команды в формате: chmod 777 %filename% (имя файла или папки) в панели управления хостера.

Options

-c, —changes

Like —verbose, but gives verbose output only when a change is actually made.

-f, —silent, —quiet

Quiet mode; suppress most error messages.

-v, —verbose

Verbose mode; output a diagnostic message for every file processed.

—no-preserve-root

Do not treat » (the root directory) in any special way, which is the default setting.

—preserve-root

Do not operate recursively on ».

—reference=RFILE

Set permissions to match those of file RFILE, ignoring any specified MODE.

-R, —recursive

Change files and directories recursively.

—help

Display a help message and exit.

—version

Output version information and exit.

Устанавливаем права

Устанавливаем права для всех директорий :

$ sudo find /var/www -type d -exec chmod 755 {} \; -print
/var/www
/var/www/html
/var/www/host1.loc
/var/www/host2.loc

Теперь ситуация такая:

  • Пользователь (разработчик) имеет право на чтение и запись директорий, потому что является их владельцем
  • Пользователь (web-сервер) имеет право на чтение директорий, потому что принадлежит к группе

Устанавливаем права для всех файлов :

$ sudo find /var/www -type f -exec chmod 644 {} \; -print
/var/www/html/index.html
/var/www/host1.loc/index.php
/var/www/host2.loc/index.php

Теперь ситуация такая:

  • Пользователь (разработчик) имеет право на чтение и запись файлов, потому что является их владельцем
  • Пользователь (web-сервер) имеет право на чтение файлов, потому что принадлежит к группе

Для наглядности посмотрим на права всех файлов и директорий:

$ cd /var/www
$ ls -laR
.:
итого 20
drwxr-xr-x  5 developer www-data 4096 ноя 15 14:54 .
drwxr-xr-x 15 root      root     4096 ноя 11 09:32 ..
drwxr-xr-x  2 developer www-data 4096 ноя 11 09:32 html
drwxr-xr-x  3 developer www-data 4096 дек  4 17:50 host1.loc
drwxr-xr-x  2 developer www-data 4096 ноя 15 14:56 host2.loc

./html:
итого 20
drwxr-xr-x 2 developer www-data  4096 ноя 11 09:32 .
drwxr-xr-x 5 developer www-data  4096 ноя 15 14:54 ..
-rw-r--r-- 1 developer www-data 10918 ноя 11 09:32 index.html

./host1.loc:
итого 16
drwxr-xr-x 3 developer www-data 4096 дек  4 17:50 .
drwxr-xr-x 5 developer www-data 4096 ноя 15 14:54 ..
-rw-r--r-- 1 developer www-data   78 дек  4 17:34 index.php

./host2.loc:
итого 12
drwxr-xr-x 2 developer www-data 4096 ноя 15 14:56 .
drwxr-xr-x 5 developer www-data 4096 ноя 15 14:54 ..
-rw-r--r-- 1 developer www-data   46 ноя 15 14:56 index.php

Поиск:
Apache • Linux • Nginx • Web-разработка • Владелец • Команда • Права доступа • Пользователь • www-data • Настройка • Группа • group • Файл • Директория

Настройка прав доступа к файлам Mac с помощью терминала

Если вы когда-либо использовали команду chmod в Linux, то вы будете знать о ее силе. С помощью одной команды терминала вы можете установить права на чтение, запись и выполнение для файлов и каталогов.

Однако команда chmod не является командой только для Linux. Как и многие другие терминальные команды Linux, chmod восходит к Unix с 1970-х годов – и Linux, и macOS разделяют это наследие, поэтому команда chmod доступна и в macOS.

Чтобы использовать chmod, откройте окно терминала. Вы можете сделать это, нажав значок Launchpad на панели Dock и выбрав опцию «Терминал» в папке «Другое».

Кроме того, вы можете использовать встроенную функцию поиска Spotlight от Apple, чтобы открыть терминал.

Просмотр текущих прав доступа к файлам

Чтобы просмотреть текущие разрешения для файла, введите:

Замените «file.txt» своим именем файла. Это покажет все уровни доступа пользователя, а также любые расширенные атрибуты, относящиеся к macOS.

Права доступа к файлу отображаются в первых 11 символах, выводимых командой ls. Первый символ, тире (-), показывает, что это файл. Для папок это заменяется буквой (d).

Следующие девять символов разбиты на группы по три человека.

Первая группа показывает уровни доступа для владельца файла / папки (1), средняя группа показывает разрешения группы (2), а последние три – разрешения для любых других пользователей (3).

Здесь вы также увидите буквы, такие как r (чтение), w (запись) и x (выполнение). Эти уровни всегда отображаются в таком порядке, например:

  • — означает отсутствие доступа для чтения или записи, и файл не является исполняемым.
  • r— означает, что файл может быть прочитан, но не записан, и файл не может быть выполнен.
  • rw- означает, что файл может быть прочитан и записан, но файл не является исполняемым.
  • r-x означает, что файл может быть прочитан и выполнен, но не записан.
  • rwx означает, что файл может быть прочитан, записан и выполнен.

Если последним символом является знак (@), то это означает, что файл или папка имеют расширенные атрибуты файла, относящиеся к безопасности, предоставляя определенным приложениям (например, Finder) постоянный доступ к файлу.

Отчасти это связано с новыми функциями безопасности, представленными в macOS Catalina, хотя списки контроля доступа к файлам (ACL) были функцией Mac начиная с macOS X 10.4 Tiger еще в 2005 году.

Настройка прав доступа к файлам

Чтобы установить права доступа к файлам, мы будем использовать команду chmod в терминале. Чтобы удалить все существующие разрешения, установите для пользователя права на чтение и запись, а другим пользователям – на чтение, введите:

Флаг u устанавливает права доступа для владельца файла, g относится к группе пользователей, а o относится ко всем другим пользователям. Использование знака равенства (=) стирает все предыдущие разрешения для этой категории.

В этом случае владелец файла получает доступ на чтение и запись, а группа пользователей и другие пользователи получают доступ на чтение.

Вы можете использовать знак плюс (+), чтобы добавить доступ к уровню пользователя. Например:

Это исключит доступ для чтения и записи для всех других пользователей из файла.

Чтобы стереть, добавить или удалить разрешения для всех пользователей, используйте вместо этого флаг. Например:

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

С большой силой приходит большая ответственность, и нельзя отрицать, что команда chmod является обширным и мощным инструментом для изменения прав доступа к файлам на Mac. Например, вы можете заменить буквы (rwx) комбинацией из трех (или четырех) восьмеричных цифр до 777 (для чтения, записи и выполнения).

Если вы хотите узнать больше об этом, введите man chmod в терминале, чтобы прочитать полный список доступных флагов и настроек.

vote

Article Rating

Поделиться

4 ответы

Google дает:

  • 1,030,000 результатов для ‘ chmod 777 ‘
  • 371 000 результатов для ‘ chmod a + rwx

is about 3 times more popular.

Тем не менее, я предпочитаю использовать длинные варианты в
документации и сценариях, потому что они самодокументированы. Если
вы выполняете свои инструкции с помощью «Запустите и проверьте разрешения», вы можете
использовать , потому что это так
отобразит разрешения.

27

Важная дополнительная информация: эквивалент не .

: set the last 3 octals to 777, so it
ensure that Owner, Group and Users have the «rwx» set. If there was
aditionnal bits in the first octal (setuid, setgid, and/or Sticky
bit) it leaves them untouched. Think about it as a binary «or
00777».

: set the rights to 00777, so it ensure
Owner, Group and Users have «rwx» set, AND NOTHING MORE. It also
make sure the additional bits (setuid, setgid, and/or Sticky bit)
are set to 0.

Поэтому используйте первую форму, если вы просто хотите
удостовериться в доступе к каждому (и, пожалуйста, сделайте
двойной, убедитесь, что это необходимо … он открывает двери для
всех видов проблем безопасности, некоторые довольно неожиданно
широкие в том, что они позволяют злоумышленнику делать)

Используйте форму 777, если вы также захотите сбросить любой бит
setuid/setgid/sticky, т. Е. Если файлы должны быть «00777», что,
вероятно, более вероятно в вашем случае (право файла известно и
должно быть : 00777). Здесь также, убедитесь, что это действительно
необходимо …

Обычно лучше иметь доступ к владельцу (а иногда и к группе):
затем использовать группы для предоставления доступа определенным
пользователям в каталог/каталог. a + rwx является простым и обычно
неправильным способом предоставления доступа (конечно, существуют
очень редкие случаи , когда это единственный способ
…)

http://en.wikipedia.org/wiki/Chmod
is a good read as it explains what each number or letter represents
(including setuid/setgid/sticky)

26

Я обычно думаю, что разница в том, что установка разрешений на
0777 явно устанавливает их в 0777. Как упоминалось ранее, вывод 0
будет выведен, если вы просто наберете 777. В то время как + rwx
добавляет чтение/запись/выполнение, оставляя setuid/sticky бит
нетронутый.

Предположим, вы просто хотите убедиться, что файл можно
выполнить, вы можете использовать + x, чтобы вы могли изменять
привилегии выполнения, не беспокоясь о других разрешениях или не
изменяя их. Если вы использовали восьмеричное представление, вам
нужно знать, какие разрешения в настоящее время установлены, чтобы
быть уверенным, что вы не изменяете разрешения каким-либо другим
способом, кроме того, что вы намеревались.

1

Я бы сказал, что предоставление числовых значений гораздо более
распространено в «простых руководствах людей», например, для
пользователей бюджетных веб-хостинга. Однако будьте осторожны,
указав их как восьмеричный , а не десятичный,
значения:

$ chmod 0777 some_dir

Обратите внимание на ведущий в. Несмотря на то, что Bash и другие среды CLI делают правильные
вещи с использованием неадаптированного кода ,
многие языки программирования, такие как PHP
и Perl, имеют аналогичные функции, для которых требуется ведущий

Поэтому я рекомендую его использовать и в Bash,
чтобы помнить, что он должен быть там.

Note to downvoters: As clarified in the
comments, the command does in fact know to pass
the directive as octal even if decimal notation is specified.
However, not all environments support this, thus it is best
practice to get used to specifying it explicitly.

Управление основными правами

Система разрешений Linux была изобретена в 1970-х годах. Поскольку вычислительные потребности были ограничены в те годы, базовая система разрешений была довольно ограничена. Эта система разрешений использует три разрешения, которые можно применять к файлам и каталогам. В этом разделе вы узнаете, как использовать и изменять эти разрешения.

Понимание прав на чтение, запись и выполнение

Три основных разрешения позволяют вам читать, записывать и выполнять файлы. Эффект этих разрешений отличается при применении к файлам или каталогам. Применительно к файлу разрешение на чтение дает вам право открыть файл для чтения. Следовательно, вы можете прочитать его содержимое, но это означает, что ваш компьютер может открыть файл, чтобы что-то с ним сделать.

Программный файл, которому требуется доступ к библиотеке, должен, например, иметь доступ для чтения к этой библиотеке. Из этого следует, что разрешение на чтение — это самое основное разрешение, которое вам нужно для работы с файлами.

Применительно к каталогу чтение позволяет отображать содержимое этого каталога. Вы должны знать, что это разрешение не позволяет вам читать файлы в каталоге. Система разрешений Linux не знает наследования, и единственный способ прочитать файл — использовать разрешения на чтение для этого файла.

Как вы, вероятно, можете догадаться, разрешение на запись, если оно применяется к файлу, позволяет записывать в файл. Иначе говоря, позволяет изменять содержимое существующих файлов. Однако он не позволяет создавать или удалять новые файлы или изменять права доступа к файлу. Для этого вам нужно дать разрешение на запись каталогу, где вы хотите создать файл. В каталогах это разрешение также позволяет создавать и удалять новые подкаталоги.

Разрешение на выполнение — это то, что вам нужно для выполнения файла. Оно никогда не будет установлено по умолчанию, что делает Linux практически полностью невосприимчивым к вирусам. Только кто-то с правами записи на каталог может применять разрешение на выполнение.

Ниже обобщается использование основных разрешений:

Основные права доступа к файлам в Linux

Изначально каждый файл имел три параметра доступа. Вот они:

  • Чтение — разрешает получать содержимое файла, но на запись нет. Для каталога позволяет получить список файлов и каталогов, расположенных в нем;
  • Запись — разрешает записывать новые данные в файл или изменять существующие, а также позволяет создавать и изменять файлы и каталоги;
  • Выполнение — вы не можете выполнить программу, если у нее нет флага выполнения. Этот атрибут устанавливается для всех программ и скриптов, именно с помощью него система может понять, что этот файл нужно запускать как программу.

Но все эти права были бы бессмысленными, если бы применялись сразу для всех пользователей. Поэтому каждый файл имеет три категории пользователей, для которых можно устанавливать различные сочетания прав доступа:

  • Владелец — набор прав для владельца файла, пользователя, который его создал или сейчас установлен его владельцем. Обычно владелец имеет все права, чтение, запись и выполнение.
  • Группа — любая группа пользователей, существующая в системе и привязанная к файлу. Но это может быть только одна группа и обычно это группа владельца, хотя для файла можно назначить и другую группу.
  • Остальные — все пользователи, кроме владельца и пользователей, входящих в группу файла.

Именно с помощью этих наборов полномочий устанавливаются права файлов в linux. Каждый пользователь может получить полный доступ только к файлам, владельцем которых он является или к тем, доступ к которым ему разрешен. Только пользователь Root может работать со всеми файлами независимо от их набора их полномочий.

Но со временем такой системы стало не хватать и было добавлено еще несколько флагов, которые позволяют делать файлы не изменяемыми или же выполнять от имени суперпользователя, их мы рассмотрим ниже:

Setuid And Setgid Bits

chmod clears the set-group-ID bit of a regular file if the file’s group ID does not match the user’s effective group ID or one of the user’s supplementary group IDs, unless the user has appropriate privileges. Additional restrictions may cause the set-user-ID and set-group-ID bits of MODE or RFILE to be ignored. This behavior depends on the policy and functionality of the underlying chmod system call. When in doubt, check the underlying system behavior.

chmod preserves a directory’s set-user-ID and set-group-ID bits unless you explicitly specify otherwise. You can set or clear the bits with symbolic modes like u+s and g-s, and you can set (but not clear) the bits with a numeric mode.

Общая информация о правах доступа

Права доступа позволяют определить, какие действия могут совершать пользователи с теми или иными файлами и директориями.

Пользователи делятся на три категории:

  • владелец (владельцем является владелец аккаунта; дополнительные FTP-пользователи также получают права владельца в рамках предоставленного им доступа);
  • группа пользователей, в которую входит владелец (в рамках хостинга эта категория не актуальна; по умолчанию на нее распространяются те же права, как для категории «остальные»);
  • остальные (прочие пользователи, которые заходят на ваш сайт).

Права доступа включают в себя право на чтение (r), запись (w) и исполнение (x) и могут записываться двумя способами: буквами или цифрами.

Соответствие буквенной и цифровой записи в таблице ниже:

Цифровая запись Буквенная запись Права
Отсутствие прав
1 —x Исполнение
2 -w- Запись
3 -wx Запись и исполнение
4 r— Чтение
5 r-x Чтение и исполнение
6 rw- Чтение и запись
7 rwx Чтение, запись и исполнение

Права записываются последовательно: сначала для владельца, затем для группы, затем для остальных пользователей. Например, запись 755 (или rwx r-x r-x) означает, что владельцу даны права на чтение, запись и исполнение (7 / rwx), всем остальным — на чтение и исполнение (5 / r-x).

Права назначаются как файлам, так и директориям, при этом есть определенные отличия в том, какие возможности дает то или иное право доступа:

Права Для файлов Для каталогов
r, чтение Просмотр содержимого

Просмотр содержимого (т.е. можно получить список объектов в каталоге) — например, командами cat, ls

w, запись Изменение содержимого Изменение содержимого каталога (т.е. можно удалять, добавлять файлы, переименовывать их)
x, исполнение Запуск файла на исполнение Вход в каталог (например, командой сd)

Примеры наиболее распространенных комбинаций для прав доступа:

Цифры Буквы Права
600

rw——

Владелец может просматривать и изменять содержимое, у остальных нет доступа к объекту

644 rw-r—r— Владелец может просматривать и изменять содержимое, остальные могут только просматривать
700 rwx— — Владелец может просматривать, изменять содержимое, запускать исполнение объекта, у остальных нет доступа к объекту
711 rwx—x—x У владельца полный набор прав, остальным доступно только исполнение
755 rwxr-xr-x У владельца полный набор прав, остальным доступны просмотр и исполнение

Просмотреть назначенные права можно командой ls -l. Права для файлов в выводе будут отмечены флагом -, для директории — флагом d, например:

username@server:~/test_home$ ls -l
total 4
drwx------ 2 username customers 4096 Mar 10 14:39 dir
-rw-r--r-- 1 username customers    0 Mar 10 14:39 test.txt

Что обозначает данный термин?

Вам будет интересно:Резидентные вирусы: что это и как уничтожить. Компьютерные вирусы

В любой операционной системе, предусматривающей эксплуатацию разными группами пользователей, существует ограничительный элемент. Он назначается системным администратором и регулирует порядок и возможности работы с подвластной ему директорией для трёх типов юзеров:

  • Владельца файла.
  • Пользователей, состоящих в группе владельца.
  • Всех прочих лиц, имеющих доступ к серверу через веб-браузер.

Права доступа 777 – атрибут, позволяющий читать, запускать и переписывать/создавать файлы в директории всем перечисленным выше видам пользователей, существующий только для платформы Linux. Данная функция предоставляет полные возможности для взаимодействия с информацией, но, к сожалению, далека от представлений о безопасности. Это действие аналогично помещению файла в раздел общих документов в ОС Windows.

Setting File Permissions in Command Line

In Linux, you can easily change the file permissions by right-clicking the file or folder and select “Properties”. There will be a Permission tab where you can change the file permissions. In the terminal, the command to use to change file permission is . In short, “chmod 777” means making the file readable, writable and executable by everyone.

Hopefully, this article can help you understand better about the file permissions in Unix system and the origin of the magical number “777”.

Now you know about the file permissions, you might want to know how you can copy and paste text, files and folders in the Linux terminal, or how to use sticky bit to manage files on shared directories.

Image credit: Pixelated Linux by DepositPhotos

Damien

Damien Oh started writing tech articles since 2007 and has over 10 years of experience in the tech industry. He is proficient in Windows, Linux, Mac, Android and iOS, and worked as a part time WordPress Developer. He is currently the owner and Editor-in-Chief of Make Tech Easier.

Как установить в WordPress права на папки и файлы

В предыдущих статьях мы уже обсуждали способы редактирования файлов. Обычно я использую для этого файловый менеджер своего хостинга. У него приятный и удобный интерфейс и не нужно запускать отдельных программ и создавать соединение, все делается через окно браузера.

Чтобы установить атрибуты файлу, выделите его, щелкните правой кнопкой мыши – «Изменить атрибуты». В открывшемся окне отметьте нужные галочками или впишите цифрами. Какие именно права каким файлам назначать мы рассмотрим чуть позже.

«Применить рекурсивно» — очень нужны параметр, позволяет в один клик установить нужные атрибуты не только папке, но и всем ее подпапкам и файлам.

Команда chmod

Права устанавливаются командой chmod. Команда chmod поддерживает установку прав как в восьмеричном представлении, так и в символьном (маска режима доступа).

Синтаксис команды прост:

chmod <опции> <права> <объект или регулярное выражение>

Опции

Из самых полезных и часто используемых опций можно выделить одну:

-R — рекурсивное назначение прав. Т.е. назначить права всем объектам, руководствуясь регулярным выражением.

Например:

  • chmod -R 755 * — Назначение прав всем объектам текущего каталога, включая подкаталоги.
  • chmod -R 700 z* — Назначить полные права для владельца и исключить права для группы и всех остальных для всех объектов, которые начинаются именоваться на z, находящиеся в текущем каталоге и его подкаталогах.

Права

Права можно записывать как в восьмеричном представлении так и в символьном. В восьмеричном представлении, для стандартных прав, указываются 3 восьмеричные цифры (1-я для владельца, 2-я для группы, 3-я для всех остальных. См. таблицу выше).

Например:

  • chmod 744 koshka.txt — установит права для файла koshka.txt — (r w x r — — r — -);
  • chmod -R 775 sobaki — установит права на каталог sobaki и на все объекты, что внутри этого каталога, включая содержимое подкаталогов (r w x r w x r — x);
  • chmod 700 * — установит права только для владельца на все файлы и каталоги в текущем каталоге, включая подкаталоги и их объекты (rwx — — — — — -).

Другой способ назначения прав — это использование маски режима доступа (символьное представление). Помимо прав задается еще кому мы собираемся эти права выставлять:

  • u — владельцу объекта;
  • g — группе объекта;
  • o — пользователю «все остальные»;
  • a — все вышеперечисленное.

Для назначения прав используются три знака: минус, плюс или равно:

  • — — убрать указанные права с объекта;
  • + — добавить указанные права к существующим правам объекта;
  • = — заменить права объекта на указанные.

Пример:

chmod g+w koshki.txt — Добавить пользователям группы файла koshki.txt права на запись в этот файл;

chmod a=rwx sobaki.doc — Заменит существующие права на файле sobaki.doc на полные права всем;

chmod o-w test.cgi — Уберет права на запись для пользователя «Все остальные».

chmod ug=rw spisok.doc — Выставить права на чтение и запись файлу spisok.doc для владельца и группы

Обратите внимание, что если у пользователя «все остальные» были какие-либо права, они сохранятся в неизменном виде.. Использование символьного представления позволяет редактировать права файлов более гибко:

Использование символьного представления позволяет редактировать права файлов более гибко:

  • chmod u+x,g+w-x koshki.txt — Добавить владельцу файла koshki.txt права на его выполнение, пользователям группы разрешить запись и запретить выполнение и оставить права остальных пользователей без изменений;
  • chmod u=rwx,g+w,go-x sobaki.doc — Установить полные права для владельца файла, разрешить пользователям группы запись и запретить выполнение всем пользователям, кроме владельца файла.

Символьное назначение окажет неоценимую услугу, если требуется добавить права на объект к уже существующим правам.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector