Как дать полные права папке в ubuntu

Разработанный ещё в 70-е годы прошлого века механизм распределения прав в операционных системах оказался настолько успешным, что используется в UNIX-системах до сих пор, то есть уже больше сорока лет.

Права доступа 777 - что это?

Базовый принцип способа распределения доступа включает в себя существование обязательных атрибутов, таких как имена пользователей системы, а также их групп. Почти очевидным является тот факт, что в Linux у каждого юзера может быть только одно имя, которое должно быть уникально в рамках этой системы. С помощью никнейма пользователь входит в систему, то есть проходит авторизацию. Помимо этого, операционка содержит конечное число групп пользователей. Каждый из них может входить в состав одной или нескольких групп. Редактировать свойства, создавать и удалять группы может суперпользовать - root. Участники различных групп имеют различные права для действий в системе. Так, например, администратор владеет большими правами, чем гость.

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

Четкая строка разделяет то, что могут делать пользователи в разных ролях. То же самое происходит с режимами разрешений, за исключением того, что вместо того, чтобы иметь дело с сообщениями в блогах и параметрами темы, мы имеем дело с файлами и папками на сервере. Например, вы можете использовать это, чтобы изменить все файлы на 644. Или используйте это, чтобы изменить все ваши папки на 755.

Индексный дескриптор (который есть у каждого файла) содержит логин владельца и название группы пользователей, имеющей права к данному файлу.

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

Шаг 1 - Изменение прав доступа к файлам и папкам через командную строку

Прежде чем начать это руководство, вам понадобится следующее. В принципе, каждый файл имеет три типа пользователей, которые могут взаимодействовать с ним. Если у нас есть разрешения на чтение, мы можем прочитать содержимое файла, но это он, не редактирование и не выполнение. 1. Несколько жестких ссылок. . Эта команда позволяет нам изменять разрешения файла или папки. И мы научим вас, как это сделать, просто добавив числа вместе.

Каждый тип разрешений имеет свой собственный номер. Мы должны написать эту команду. В принципе, каждое число в этой команде представляет разрешения для одного из типов пользователя. Таким образом, первое число равно 7, теперь, используя объяснение значений чисел выше, единственный способ получить число 7 - это сложение чисел 4, 2 и 1, которое равно: 4 2 1 = Это первое число задает разрешения для владелец файла. Третье число - 6, с использованием приведенных выше значений чисел, единственный способ получить это число - добавить 4 и 2, что равно 4 2 = Итак, мы даем другим разрешение читать и записывать файл.

Как изменить права доступа

Команда chmod может изменить режим пользовательского доступа к файлу. Как-либо менять эти права разрешено исключительно его владельцу либо суперпользователю. В Unix-системах код принято задавать в виде числа в восьмеричной форме, или при помощи специальных мнемонических знаков (букв). Использование каждого способа имеет свои преимущества и недостатки. Так, с помощью цифрового указания прав доступа системный администратор сможет быстрее настроить нужный тип доступа, а с помощью мнемонических кодов он сможет сделать это более точно - например, добавить или удалить право на запись, либо запретить право на чтение.

Шаг 2 - Изменение владельцев файлов и папок через командную строку

Третья часть команды - это имя файла, мы пишем имя файла, которому мы хотим установить эти разрешения. Ниже приведен список наиболее распространенных разрешений для файлов. Общие разрешения для каталогов. Если вы хотите узнать больше о других способах изменения разрешений, вы можете прочитать об этом. Самый простой синтаксис этой команды. Итак, как вы можете видеть, мы отделяем владельца и владельца группы символом «:». Если мы хотим изменить владельца файла, мы будем использовать это.

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

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

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

Мнемонические обозначения прав доступа

Доступ к файлам в системе прав имеет такие вариации:

  • r - доступ к чтению файла;
  • w - право редактирование данных (но не удаление);
  • x - возможость запускать файл к исполнению.

По отношению к каталогам действует такия система прав:

  • r — пользователь может читать любые файлы директории;
  • w — с этими правами можно создавать и удалять файлы в папке, даже если некоторые из них в каталоге принадлежат другому юзеру;
  • x — обозначает право входа в директорию. Если вы имеете права w к вложеной папке но не имеете прав на папку уровнем выше, то и к своей папке никак не пробьетесь.

Всего возможно 8 различных комбинаций, которые приведены на рисунке ниже.

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

  • Ну, это не имеет никакого смысла.
  • В случае каталогов человек может войти в этот каталог.
Три типа разрешений, доступные для трех типов пользователей.

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


Как установить права доступа 777 через SSH

Приведем некоторые примеры использование команды chmod:

  • У группы есть разрешения на чтение.
  • У других есть разрешения на чтение.
Чтобы изменить разрешения, связанные с файлами и каталогами, вы можете использовать октальное представление или символическое представление. Мы ограничим эту часть нашей дискуссии до использования восьмеричного представления для изменения прав на файлы и каталоги.

Итак, в восьмеричном представлении разрешений.

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

  • chmod 711 file_name.txt.

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

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

Другим примером является предоставление пользователю разрешения на чтение и отсутствие разрешения на группу, а также разрешение на запись другим пользователям. Введите следующую команду. Разрешение по умолчанию для файла - 777, а для каталога - 666. Окончательные разрешения по умолчанию для файла и каталогов определяются следующим образом.

Использование символического представления

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

Применение изменений ко всему содержимому каталога

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

  • chmod 775 /var/bin/file_name.txt.

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

  • chmod -R 711 file_name.

В итоге, как выставить права доступа 777 для файла или каталога, не будет проблемой - просто необходимо залогиниться на вашем веб-сервере через SSH и выполнить команду:

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

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

  • chmod 777 имя_файла.


Как установить права доступа 777 в контрольной панели сервера

Вы также можете реализовать аналогичную процедуру через визуальный интерфейс FTP клиента FileZilla или SFTP клиента WinSCP. Для этого необходимо будет выполнить авторизацию на вашем сервере в одной из этих программ, в визуальном интерфейсе выбрать ваш файл или папку, затем нажать правую клавишу мыши и установить галочки рядом с нужными правами.

Тем не менее, мы также можем использовать конкретные разрешения, основанные на пользователе, группе или мире. Для этого мы будем использовать указания для пользователя, группы и мира, например. Разрешения указаны. Чтобы дать разрешение, мы будем использовать знак, и для удаления разрешения мы будем использовать знак. Чтобы установить конкретное разрешение, мы используем знак =.

Например, предположим, что мы хотим добавить разрешение на запись в основную группу. Для этого мы можем ввести команду. Чтобы удалить его от владельца группы, мы должны ввести команду. Чтобы установить права на чтение, запись и выполнение для группы, мы можем ввести.

Иногда, в случае срочной надобности, у вас может не быть доступа к Windows-клиенту, поэтому можно осуществить смену прав доступа через контрольную панель веб-сервера. Для этого, используя файловый менджер вашей контрольной панели, выберите необходимые файлы и нажмите на кнопку Change Permissions ("Смена прав"). Далее необходимо будет так же отметить всё галочками, и теперь вопрос, как установить права доступа 777 на папку больше не будет для вас сложным.

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

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

Опубликовано 4 февраля, 2008 - 20:17 пользователем AracooL

Основы

С самого своего появления, UNIX позиционировался как мультипользовательская операционная система. Что соответственно повлекло за собой создание механизмов для защиты и обеспечения авторизорованного доступа к данным. Таким образом появился стандарт DAC (Discretionary Access Control). В соответствии с DAC, пользователь сам решает какие права доступа соответствуют файлам. Но с точки зрения разработки операционных систем эта модель оказалась неудовлетворительной. Из-за чего появились новые модели для организации доступа к файлам, такие как MAC (Mandatory Access Control), ACL (Access Control List), и их реализации, например SELinux, TrustedBSD, Trusted Solaris.

Затем вы указываете, как вы хотите изменить разрешения. В следующей таблице приведены данные. Параметры и - изменяют существующие разрешения. Используйте их, если вы хотите добавить или удалить разрешение. Например, вы можете изменить только разрешение на запись и оставить только разрешения на чтение и выполнение.

Параметр = автоматически меняет все разрешения. Используйте его, когда вам не нравятся существующие разрешения, и вы просто хотите наброситься и установить все, как вы хотите. В следующей таблице показаны типы букв для выбора различных разрешений. Большинство из них делают то, что вы ожидаете, но выполнение имеет некоторые особенности.

Владелец файла

Обычно, владельцем файла является пользователь, создавший этот файл. В UNIX-подобных операционных системах, все файлы имеют два типа владельцев: user (пользователь) и group (группа). Владельцы не должны совпадать друг с другом, т.е. user не должен быть членом group. Но фактически почти всегда, пользователь принадлежит к той группе, которая владеет файлом. Если пользователь не является владельцем файла и не принадлежит к группе, владеющей файлом, то он считается “левым” (others, остальные). Каждому пользователю в системе присваивается UID-номер (user identification number, идентификатор пользователя), с помощью этого система однозначно определяет пользователя. Пользователь root имеет UID = 0, а максимально возможный номер принадлежит пользователю “nobody” (”никто”) (для Ubuntu это 65534, для NetBSD - 32767). Следовательно права привязываются не в к имени пользователя, а к его UID. Аналогично каждой группе соответствует GID (group identification number). Для того что бы в консоле вывести владельцев файлов используйте команду ls с ключом -l:

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

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

Нет простого способа понять эти особые случаи. Иногда разрешения прерываются молча. На экране ничего не отображается. Материал просто не работает, и вы понятия не имеете, почему. Как правило, когда что-то не работает, и вы понятия не имеете, сначала проверьте разрешения.

$ ls -l razem 1822 drwxr-xr-x 3 adam adam 120 2007-09-03 16:00 Desktop -rw-r–r– 1 adam adam 400 2007-08-22 18:49 prog_09.py

Третья и четвертая колонка означают, что пользователь и группа владеют файлом.

chgrp

Эта команда позволяет изменить группу-владельца файла. Если эту команду использует простой пользователь, то он, во-первых, должен быть владельцем файла, а во-вторых, он должен быть членом группы, которой он хочет дать права. Интересный факт, пользователь не должен быть членом группы, которая владеет файлом. Синтаксис следующий: chgrp new-group files,можно использовать как и имя группы, так и GID группы.

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

Иногда разрешения похожи на числа. Например, в статьях и книгах в блогах иногда указывается, что вы устанавливаете разрешения для файла на 777 или 644 или какой-либо другой номер. Числа - это более быстрый и компактный способ определения разрешений. Их легче запомнить, чем длинный ряд букв.

$ ls -l -rw-r–r– 1 adam root 0 2007-09-03 15:33 file.txt $ chgrp users file.txt $ ls -l -rw-r–r– 1 adam users 0 2007-09-03 15:33 file.txt

Команду кстати можно использовать с ключом -R, что приведет к рекурсивному обходу всех файлов в каталоге и его подкаталогах.

chown

Эта команда используется для изменения как владельца так и группы. В большинстве систем, только root имеет право пользоваться этой командой. У команды следующий синтаксис: chown new user:new group files. Как и в команде chgrp, вы можете использовать как имена пользователей и групп, так и их GID и UID. Кстати команда не проверяет на существование пользователей и группы, так что можно задать несуществующие.

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

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

$ ls -l -rw-r–r– 1 adam users 0 2007-09-03 15:33 file.txt root@laptop:# chown root:root file.txt adam@laptop:~$ ls -l -rw-r–r– 1 root root 0 2007-09-03 15:33 file.txt

Смена группы и пользователя.

Root@laptop:# chown zoidberg file.txt

Смена владельца на пользователя zoidberg, группа остается без изменений.

# chown:futurama file.txt

Смена группы на futurama, владелец без изменений.

Права доступа

В любой UNIX-подобной системе имеются 3 уровня доступа к файлу: чтение, read (r), запись, write (w) и выполнение, execute (x).

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

Стоит заметить, что когда мы рассматриваем права на каталоги, нужно помнить, что каталог - это тоже файл, который содержит список файлов, т.е. их имена и расположение на диске. Для того что бы посмотреть содержимое каталога достаточно воспользоваться командой ls (без ключей), для этого необходимы только права на чтение, но для того что бы выполнить ls -l необходимы права на запись и выполнение. Обобщая вышесказанное, выполняя любую операцию над каталогом (кроме простого просмотра содержимого) вам необходимы права на выполнение, таким образом обладая этими правами вы получаете доступ к содержимому каталога использую имена файлов.

Drw-r–r– 2 adam adam 96 2007-09-05 18:04 blob drwxr-xr-x 2 adam adam 176 2007-09-04 15:57 tapety -rw-r–r– 1 adam adam 125 2007-08-29 18:31 fme.py

Список прав доступен по команде ls с ключом -l. В первой колонке первый символ обозначает тип файла, а остальные 9 показывают права доступа. Первые 3 из 9 показывают права user, следующие 3 - это права group, и оставшиеся для “левых”.

В приведенном примере blob - это каталог, user имеет права на запись и чтение, но не на выполнение (rw-), у группы и у остальных есть права только на чтение. Tapety - тоже каталог, и у user есть права на все (rwx), а у группы и у остальных есть права на чтение и выполнение (r-x). Fme.py - это файл.

chmod

Рассмотрим команду для смены прав доступа:

Chmod access rights files

Перед выполнением команды необходимо выбрать класс пользователей, для кого мы хотим изменить права (ugo, User, Group, Others). Есть так же дополнительная группа a (all, все). Затем выбираем оператор: + (дать права), - (убрать права) и = (присвоить права). И в конце выбрать сами права (rwx, r-x и т.д.).

$ chmod u+x skrypt.sh

Пользователю (u) добавляется (+) право на выполнение (x) файла skrypt.sh.

$ chmod go-r raport.odt

У группы и остальных (go) отбирается (-) право на чтение (r).

$ chmod a=w finanse.ods

Всем (a) присваивается (=) право на запись (w), а остальные права стираются (=).

$ chmod u+rwx,g+rwx,o+x trurl.py

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

Числовое представление прав

Для упрощения записи команды chmod можно использовать числовое представление прав. У каждого типа доступа есть числовое представление, для этого используется двоичное представление. Единица означает - есть право, 0 - нет права. Таким образом запись правила rwx r-x r-x в бинарном виде будет выглядить следующим образом: 111 101 101. Но двоичное представление не очень удобно, поэтому используют десятичное представлени. 111 в двоичной системе - это 7 в десятичной, а 101 - это 5, таким образом 111 101 101 - это 755. Итак получаем:

  • -w- 2
  • -wx 3
  • r-x 5
  • rw- 6
  • rwx 7

Таким образом вы можете записать как

$ chmod u=rwx,g=rwx,o=x trurl.py

$ chmod 771 trurl.py

Специальные уровни доступа

Рассмотрим несколько специальных уровней доступа, расширяющие стандартные.

X

Данная опция добавляет выбранным классам права на выполнение тогда и только тогда, когда другие классы тоже имеют права на выполнение:

$ ls -l -rwx-- 1 adam users 14 2007-09-10 21:48 skrypt.sh drwx-- 1 adam users 14 2007-09-10 21:48 tapety -rw--- 1 root users 3665 2007-09-17 17:23 wynik.txt $ chmod go+X * $ ls -l -rwxr-xr-x 1 adam users 14 2007-09-10 21:48 skrypt.sh drwxr-xr-x 1 adam users 14 2007-09-10 21:48 tapety -rw-r–r– 1 adam users 3665 2007-09-17 17:23 wynik.txt

Липкий бит

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

Drwxrwxrwt 10 root root 464 2007-09-20 12:45 tmp

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

Назначить липкий бит можно командой chmod:

# chmod u+t test/ # ls -l drwxrwxrwt 2 adam users 48 2007-09-20 15:28 test

или используя числовую запись

# chmod 1000 test/

setuid

Если установить этот режим на исполняемый файл, то все смогут запускать программу от имени владельца. Например у программы ping владельцем является root (т.к. только root имеет право создавать сокеты, что и делает эта программа), но так как на ней стоит этот режим, то и все остальные могут пользоваться этой программой.

$ ls -l /usr/bin/ | grep sudo -rwsr-xr-x 1 root root 91508 2006-10-09 13:37 sudo # chmod u+s program # chmod 4000 program

setgid

Полностью аналогична setuid, только для групп.

# chmod g+s test/ # chmod 2000 test/ # ls -l drwxrwsrwt 2 adam adam 48 2007-09-20 15:28 test

unmask

Команда unmask используется для установки прав файлов для новосозданных файлов по умолчанию. Глобально, у всех новых файлов права по умолчанию 666. С помощью этой команды мы передаем те опции которые НЕ будут присутствовать в новых файлах. Т.е. если мы передадим параметр 0022, то по умолчанию права будут 644.