Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

3.4.2. Инструменты


3.4.2.1. Команда chmod


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


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


asim: ~> ./Привет

bash: ./hello: плохой интерпретатор: отказано в разрешении


asim: ~> кот привет

#! / Bin / Баш

эхо "Привет, мир"


asim: ~> ls -l привет

-rw-rw-r-- 1 asim asim 32 15 января, 16:29 привет asim: ~> chmod u + x привет

asim: ~> ./Привет

Привет мир


asim: ~> ls -l привет

-rwxrw-r-- 1 asim asim 32 15 января 16:29 привет *

asim: ~> ./Привет

bash: ./hello: плохой интерпретатор: отказано в разрешении


asim: ~> кот привет

#! / Bin / Баш

эхо "Привет, мир"


asim: ~> ls -l привет

-rw-rw-r-- 1 asim asim 32 15 января, 16:29 привет asim: ~> chmod u + x привет

asim: ~> ./Привет

Привет мир


asim: ~> ls -l привет

-rwxrw-r-- 1 asim asim 32 15 января 16:29 привет *

Команда + и - операторы используются для предоставления или отказа в праве данной группе. Допускаются комбинации через запятую. На страницах Info и man есть полезные примеры. Вот еще один, который делает файл из предыдущего примера личным файлом для пользователя. Асим:


изображение

asim: ~> chmod u + rwx, go-rwx привет


asim: ~> ls -l

Здравствуйте

-rwx ------

1 асим

Асим

32 Янв 15 16:29 привет *

Тип проблемы, приводящий к сообщению об ошибке, в котором говорится, что где-то отказано в разрешении, обычно в большинстве случаев является проблемой с правами доступа. Кроме того, такие комментарии, как «Он работал вчера» и «Когда я запускаю это как root, он работает», скорее всего, вызваны неправильными правами доступа к файлу.


Когда используешь CHMOD с числовыми аргументами значения для каждого предоставленного права доступа должны подсчитываться вместе для каждой группы. Таким образом мы получаем 3-значное число, которое является символическим значением для настроек. CHMOD должен сделать. В следующей таблице перечислены наиболее распространенные комбинации:


Таблица 3-9. Защита файлов с помощью chmod


Command

Смысл

CHMOD 400 файл

Для защиты файла от случайной перезаписи.

CHMOD 500

каталог

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


CHMOD 600 файл

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

CHMOD 644 файл

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

CHMOD 660 файл

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

CHMOD 700 файл

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

CHMOD 755

каталог

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

CHMOD 775 файл

Стандартный режим обмена файлами для группы.

CHMOD 777 файл

Каждый может делать с этим файлом все.

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


изображение

3.4.2.2. Вход в другую группу


Когда вы печатаете id в командной строке вы получаете список всех групп, к которым вы можете принадлежать, которому предшествуют ваше имя пользователя и идентификатор, а также имя и идентификатор группы, с которой вы в настоящее время связаны. Однако во многих системах Linux вы можете одновременно войти только в одну группу. По умолчанию это активный или основная группа это тот, который вам назначается из / И т.д. / пароль файл. Четвертое поле этого файла содержит идентификатор основной группы пользователей, который ищется в / etc / group файл. Пример:


asim: ~> id

uid=501(asim) gid=501(asim) groups=100(users),501(asim),3400(web)


asim: ~> GREP Асим / И т.д. / пароль

asim: x: 501: 501: Асим Эль Барака: / home / asim: / bin / bash


asim: ~> GREP 501 / etc / group

asim: x: 501:

asim: ~> id

uid=501(asim) gid=501(asim) groups=100(users),501(asim),3400(web)


asim: ~> GREP Асим / И т.д. / пароль

asim: x: 501: 501: Асим Эль Барака: / home / asim: / bin / bash


asim: ~> GREP 501 / etc / group

asim: x: 501:

Четвертое поле в строке от / И т.д. / пароль содержит значение «501», которое представляет группу Асим в приведенном выше примере. Из / etc / group мы можем получить имя, соответствующее этому идентификатору группы. При первоначальном подключении к системе это группа, которая Асим будет принадлежать.


изображениеСхема частной группы пользователей

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

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


asim: / var / www / html> новая группа Web


asim: / var / www / html> id

uid=501(asim) gid=3400(web) groups=100(users),501(asim),3400(web)

asim: / var / www / html> новая группа Web


asim: / var / www / html> id

uid=501(asim) gid=3400(web) groups=100(users),501(asim),3400(web)

После появления Асим теперь создает новые файлы, они будут принадлежать группе Web вместо того, чтобы принадлежать группе Асим:


изображение


asim: / var / www / html> сенсорный тест


asim: / var / www / html> ls -l тест

-rw-rw-r-- 1 asim web 0 10 июня, 15:38 тест

asim: / var / www / html> сенсорный тест


asim: / var / www / html> ls -l тест

-rw-rw-r-- 1 asim web 0 10 июня, 15:38 тест

Вход в новую группу избавляет вас от необходимости использовать Чаун (см. Раздел 3.4.2.4) или позвонив вашему системному администратору, чтобы сменить владельца за вас.


См. Справочную страницу для новая группа чтобы получить больше информации.


изображение

3.4.2.3. Маска файла


Когда где-то сохраняется новый файл, он сначала подвергается стандартной процедуре безопасности. Файлы без разрешений не существуют в Linux. Стандартное разрешение файла определяется маска для создания нового файла. Значение этой маски можно отобразить с помощью Umask команда:


bert: ~> Umask

0002

bert: ~> Umask

0002

Вместо того, чтобы складывать символьные значения друг с другом, как с CHMOD, для расчета прав доступа к новому файлу их необходимо вычесть из всех возможных прав доступа. Однако в приведенном выше примере мы видим 4 отображаемых значения, но есть только 3 категории разрешений: пользователь, группы и другими. Первый ноль является частью настроек специальных атрибутов файла, которые мы обсудим в Разделах 3.4.2.4 и Разделе 4.1.6. С таким же успехом может оказаться, что этот первый ноль не отображается в вашей системе при вводе Umask и вы видите только 3 числа, представляющих маску создания файла по умолчанию.


Каждая UNIX-подобная система имеет системную функцию для создания новых файлов, которая вызывается каждый раз, когда пользователь использует программу, создающую новые файлы, например, при загрузке файла из Интернета, при сохранении нового текстового документа и так далее. Эта функция создает как новые файлы, так и новые каталоги. Полное разрешение на чтение, запись и выполнение предоставляется всем при создании нового каталога. При создании нового файла эта функция предоставит разрешения на чтение и запись для всех, но установит разрешения на выполнение на none для всех категорий пользователей. Это, прежде чем маска будет применена, каталог имеет разрешения 777 or rwxrwxrwx, простой файл 666 or рв-рв-рв-.


изображение

Команда Umask значение вычитается из этих разрешений по умолчанию после того, как функция создала новый файл или каталог. Таким образом, каталог будет иметь разрешения 775 по умолчанию файл 664, если значение маски (0) 002. Это показано в следующем примере:


bert: ~> новый каталог


bert: ~> ls -ld новый каталог

drwxrwxr-x 2-х местный причал

4096 28 февраля 13:45 newdir /

bert: ~> новый каталог


bert: ~> ls -ld новый каталог

drwxrwxr-x 2-х местный причал


bert: ~> коснуться нового файла


bert: ~> ls -l новый файл

-rw-rw-r - 1 причал

0 28 фев 13:52 newfile

bert: ~> коснуться нового файла


bert: ~> ls -l новый файл

-rw-rw-r - 1 причал


изображениеФайлы против каталогов

По умолчанию каталог получает больше разрешений: он всегда имеет выполнять разрешение. Если бы этого не было, он был бы недоступен. Попробуйте это, изменив каталог 644 с помощью chmodding!

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


Команда корень Пользователь обычно имеет более строгие права на создание файлов по умолчанию:


[root @ estoban root] # umask 022

[root @ estoban root] # umask 022

Эти значения по умолчанию устанавливаются для всей системы в файлах конфигурации ресурсов оболочки, например / Etc / Bashrc or

/ etc / profile. Вы можете изменить их в своем собственном файле конфигурации оболочки, см. Главу 7 о настройке среды оболочки.


изображение

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


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


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


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


Чаун новый_пользователь файл


Если вы используете двоеточие после имени пользователя (см. Информационные страницы), права собственности группы также будут изменены на основную группу пользователя, вводящего команду. В системе Linux у каждого пользователя есть своя группа, поэтому эту форму можно использовать для приватности файлов:


Джеки: ~> id

uid = 1304 (jacky) gid = (1304) groups = 1304 (jacky), 2034 (pproject)


Джеки: ~> ls -l мой_отчет

-rw-rw-r-- 1 проект Джеки 29387 15 января 09:34 my_report jacky: ~> Чаун Джеки: my_report

Джеки: ~> chmod или my_report


Джеки: ~> ls -l мой_отчет

-rw-rw ---- 1 Джеки Джеки 29387 15 января, 09:34 my_report

Джеки: ~> id

uid = 1304 (jacky) gid = (1304) groups = 1304 (jacky), 2034 (pproject)


Джеки: ~> ls -l мой_отчет

-rw-rw-r-- 1 проект Джеки 29387 15 января 09:34 my_report jacky: ~> Чаун Джеки: my_report

Джеки: ~> chmod или my_report


Джеки: ~> ls -l мой_отчет

-rw-rw ---- 1 Джеки Джеки 29387 15 января, 09:34 my_report

If Jacky хотел бы поделиться этим файлом, не давая всем разрешения на его запись, он может использовать

команда chgrp:


Джеки: ~> ls -l отчет-20020115.xls

-rw-rw ---- 1 Джеки Джеки 45635 15 января 09:35 report-20020115.xls jacky: ~> Отчет проекта chgrp-20020115.xls

Джеки: ~> chmod o = report-20020115.xls


Джеки: ~> ls -l отчет-20020115.xls

-rw-rw ---- 1 проект Джеки 45635 15 января 09:35 report-20020115.xls

Джеки: ~> ls -l отчет-20020115.xls

-rw-rw ---- 1 Джеки Джеки 45635 15 января 09:35 report-20020115.xls jacky: ~> Отчет проекта chgrp-20020115.xls

Джеки: ~> chmod o = report-20020115.xls


Джеки: ~> ls -l отчет-20020115.xls

-rw-rw ---- 1 проект Джеки 45635 15 января 09:35 report-20020115.xls

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


Оба формата Чаун и команда chgrp может использоваться для рекурсивной смены владельца, используя -R вариант. В этом случае все базовые файлы и подкаталоги данного каталога будут принадлежать данному пользователю и / или группе.


изображениеограничения

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


изображение

3.4.2.5. Специальные режимы


Чтобы системный администратор не беспокоился о постоянном решении проблем с разрешениями, можно предоставить специальные права доступа для целых каталогов или отдельных программ. Есть три специальных режима:


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

изображение

/ Вар / TMP, которые должны быть доступны для всех, но пользователи не могут изменять или удалять данные друг друга. Липкий бит обозначается значком t в конце поля разрешения файла:


отметка: ~> ls -ld / var / tmp

drwxrwxrwt 19 корень корень

8192 16 янв, 10:37 / var / tmp /

отметка: ~> ls -ld / var / tmp

drwxrwxrwt 19 корень корень

Бит залипания устанавливается с помощью команды CHMOD о + т каталог. Историческое происхождение буквы "t" находится в UNIX. сохранить доступ к тексту функцию.

SUID (установить идентификатор пользователя) и SGID (установить идентификатор группы): представлены символом s в поле разрешения пользователя или группы. Когда этот режим установлен для исполняемого файла, он будет работать с разрешениями пользователя и группы для файла, а не с правами пользователя, вводящего команду, тем самым предоставляя доступ к системным ресурсам. Мы обсудим это далее в главе 4.

изображение

• SGID (установить идентификатор группы) в каталоге: в этом особом случае каждый файл, созданный в каталоге, будет иметь того же владельца группы, что и сам каталог (в то время как нормальное поведение будет заключаться в том, что новые файлы принадлежат пользователям, которые их создают). Таким образом, пользователям не нужно беспокоиться о праве собственности на файлы при совместном использовании каталогов:


мими: ~> ls -ld / opt / docs

drwxrws --- 4 пользователя root

4096 25 июля 2001 г. docs /

мими: ~> ls -ld / opt / docs

drwxrws --- 4 пользователя root


мими: ~> ls -l / opt / docs

-rw-rw ---- 1 пользователей mimi

345672 30 августа 2001-Council.doc

мими: ~> ls -l / opt / docs

-rw-rw ---- 1 пользователей mimi

Это стандартный способ обмена файлами в UNIX.


изображениеСуществующие файлы остаются без изменений!

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


изображение


Лучшие облачные вычисления для ОС в OnWorks: