Где хорошо - там и дом...

Категории каталога

xDSL [3]
Все материалы по xDSL
IT-Технологии [6]
Статьи по данной теме
Вирусняки [2]
Про вирусы
CISCO [2]
Здесь все о продукции этой известной компании
Unix, Linux [36]
Software [4]
Описания к прогам, всячинская инфа
Телефония [2]
Телефония и все к нрей относящееся
Games [1]
Windows [1]
Реклама, интересній софт [0]
Здесь можно прорекламировать любой софт

Наш опрос

Какому из производителей антивирусных продуктов Вы отдаете предпочтение?
Всего ответов: 477


Гидрометцентр России

Погода по львівськи

Штормовые предупреждения

onet.pl

meteo.pl

pogodynka.pl


HSDN - Информационная полоска
Locations of visitors to this page

Каталог статей

Главная » Статьи » Компьютеры, сети, оборудование, ОС, проги » Unix, Linux

Файлы в Linux и доступ к файлам

Каждый файл принадлежит конкретному пользователю или группе. Доступ к файлам контролируется пользователем, группой и что называется "другими". Под "другим" подразумевается тот, кто не является пользователем (владельцем) файла равно как и членом группы к которой принадлежит файл. Когда говорят об использовании настроек доступа для "других" пользователей, обычно имеют в виду настройки глобального исполнения, чтения или записи поделенной с кем-нибудь в системе, позволяющей обеспечить управление если доступ установлен в другой категории.


Имена файлов и символы доступа

Имена файлов могут быть длиной до 256 символов включая "-", "_", и "." символы с буквами и цифрами.

Существует набор из 10 символов (находящийся слева при отображении полного листинга файлов) который показывает тип доступа к файлам. Доступ к файлам выглядит так:


drwerwerwe.


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


12345678910
ФайлДоступ пользователяДоступ группыДругой доступ
ТипЧтениеЗаписьИсполнениеЧтениеЗаписьИсполнениечтениеЗаписьИсполнение
drwerwerwe


  • Первый символ - это тип файла: обычный, d - директория, l - ссылка.
  • Символы с 2 по 4 показывают доступ владельца. 2 символ показывает доступ на чтение, 3-й — на запись и 4-й — на исполнение.
  • Символы с 5 по 7 показывают доступ группы. 5-й символ — на чтение, 6-й — на запись, 7-й — на исполнение.
  • Символы с 8 по 10 показывают доступ для всех оставшихся
    пользователей. 8-й символ — на чтение, 9-й — на запись, 10-й — на
    исполнение.

Есть 5 возможных символов в полях доступа. Это:


  • r = чтение - Это только в области чтения.
  • w = запись – Это только в области записи.
  • x = выполнение – Это только в области выполнения.
  • s = setuid - Это только в области выполнения.
  • Если находится символ "-" в текущей области, то доступ отсутствует.
    Это может быть в любой области, будь то область чтения, записи или
    исполнения.

Примеры


Напишите в консоли «ls -l» и отобразиться список похож на приведенный ниже:


total 10
drwxrwxrwx4georgeteam1122Dec 12 18:02
Projects
-rw-rw-rw-1georgeteam11873Aug 23 08:34
test
-rw-rw-rw-1georgeteam11234Sep 12 11:13
datafile


Что означает следующее:


Тип и поле доступа# ссылкиВладелец файлаГруппа файлаРазмер в байтахДата последней модификацииИмя файла
|||||||
drwxrwxrwx4georgeteam1122Dec 12 18:02
Projects


Эти поля означают:


  1. Поле тип: первый символ в поле обозначает один из приведенных типов:
    • d = директории (directory)
    • l = символьная ссылка (symbolic link)
    • s = сокет (socket)
    • p = именованный канал (named pipe)
    • - = обычный файл (regular file)
    • с = символ (character) (небуферизированный) специальный файл устройства
    • b = блок (block) (буферизированный) специальный файл устройства

  2. Типы доступа описаны выше.
  3. Ссылки: количество директорий включающих ссылку на файл. В примере это 4.
  4. Владелец файла в нашем примере это George.
  5. Группа к которой принадлежит файл. В нашем примере это группа team1.
  6. Размер файла в байтах.
  7. Дата последней модификации. Если файл создан недавно, отображаются
    дата и время. Если файл создан не в текущем году, то год отображается
    перед временем.
  8. Имя файла.

Установка Атрибута идентификации пользователя


Биты доступа к файлу включают биты доступа исполнения для владельца
файла, группы и других. Когда бит исполнения для владельца установлен в
"s" , то набор битов ID пользователя установлен. Это позволяет любой
персоне или процессу, которые запускают файл получить доступ к
системным ресурсам, как будто они являются владельцем файла. Когда бит
исполнения для группы установлен в "s", набор битов ID группы установлен
и пользователю запустившему программу дается доступ основанный на
разрешении доступа для группы к которой принадлежит файл. Следующие
команды демонстрируют это:


chmod +s myfile


установка битов ID пользователя на файл "myfile".


Команда:


chmod g+s myfile


установка битов ID группы на файл "myfile".


Листинг показывает список из 2-х файлов у которых установлен бит ID группы и пользователя.


-rws--x--x 1 root root 14024 Sep 9 1999 chfn
-rwxr-sr-x 1 root mail 12072 Aug 16 1999 lockfile

Файлы
chfn и lockfile находятся в директории "/usr/bin". "s" занимает место в
обычном расположении бита исполнения в выше приведенном листинге
файлов. Этот специальный режим доступа не имеет смысла пока исполняемый
файл могут выполнить группа или "другие". В случает с lockfile это
означает, что если бит (глобального исполнения) не установлен с доступом
на исполнение, тогда бит ID пользователя будет иметь смысл только если
та же группа сможет запустить программу так или иначе. Оба бинарных
файла может запустить кто угодно. Первая программа, при запуске
исполняется так как будто она запущена от пользователя root. Вторая
программа запускается так как если бы пользователь состоял в группе
"mail".



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


Доступ к директориям


Существует 2 специальных бита доступа к директориям. Это:


  • s - установка ID группы
  • t – Атрибут сохранности текста (sticky bit) – Пользователь может
    удалить или модифицировать только те файлы и директории, владельцем
    которых он является или имеет права записи для них.

Атрибут сохранности текста


Директория /tmp обычно глобально-доступная и так выглядит ее листинг:

drwxrwxrwt 13 root root 4096 Apr 15 08:05 tmp

Любой
может просмотреть, записать и управлять этой директорией. Символ "t''
показывает, что только пользователь (root, конечно) может удалить
созданный файл в этой директории.



Для установки sticky bit в директории нужно сделать следующее:


chmod +t data

Этими опциями стоит пользоваться аккуратно. Возможная альтернатива этого это:


  1. Создание директории в домашней директории пользователя, в которой он может записать временные файлы.
  2. Установить переменную окружения TMPDIR использующую каждым пользовательским скриптом входа.
  3. Программы, использующие функцию tempnam(3) будут искать переменную
    TMPDIR и использовать ее для записи непосредственно в директорию /tmp.

Установка ID группы для директорий


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



Этот атрибут полезен, когда нескольким пользователям нужен доступ к
определенным файлам. Если пользователи работают в директории с
установленным атрибутом setgid, то к любым созданные ими файлам в
директории будет иметь доступ и их группа. Для примера, администратор
может создавать группу названную spcprj и добавлять пользователей Kathy и
Mark в это группу. Директории spcprjdir может быть создана с
установленным GID битом и Kathy и Mark состоя в разных первичных
группах, могут работать с директорией и иметь доступ ко всем файлам в
директории, но не иметь доступа к файлам других первичных групп.



Следующая команда устанавливает бит GID на директорию:


chmod g+s spcprjdir


Листинг директории "spcprjdir":


drwxrwsr-x 2 kathy spcprj 1674 Sep 17 1999 spcprjdir


Символ "s'' на месте бита исполнения для доступа группы к всем файлам
записанным в директорию "spcprjdir" принадлежащей группе "spcprj".


Примеры


Ниже приведены примеры изменения доступа:









chmod u+x myfile



Дать пользователю права на исполнение файла myfile.



chmod +x myfile



Дать любому пользователю права на исполнение файла myfile.



chmod ugo+x myfile



Та же команда что и раньше, но уточняет пользователя, группу и других



chmod 400 myfile



Дать пользователю права на чтение и удалить все остальные права. Этот доступ приводиться в восьмеричном исчислении, первый символ для пользователя, второй для группы и третий для других. Первый бит (4) это доступ на чтение, средний бит (2) для доступа на запись, и последний
бит (1) доступ на исполнение.



chmod 764 myfile



Дать пользователю полный доступ, группе доступ на чтение и запись, и
другим доступ на чтение
.



chmod 751 myfile



Дать пользователю полный доступ, группе доступ на чтение и исполнение и другим доступ на исполнение.



chmod +s myfile



Установка бита setuid.



chmod go=rx myfile



Удаление доступа на чтение и исполнение для группы и других.




Изменение владельца на файл test1 на Mark.

chown mark test1

Изменение на группу "mark" для файла test1.

chgrp mark test1



Заметка: При отображение файлов в Linux, установлено первоначальное значение размера столбца — 8, как в старых версиях. Это означает, что если имена файлов длиннее 8 то может быть, что они не отобразятся полностью, если использовать старые дистрибутивы Linux. Есть опция которая принадлежит команде ls которая решает эту проблему. Это "-T".
Пример: "ls al -T 30" делает длину столбца равной 30.


Настройка Umask

Команда umask используется для установки и определения в системе доступа к файлу по-умолчанию. Это восьмеричные режим дополнения

требуемого файла до конкретного типа файла. Доступом по умолчанию есть:


  • 777 – Исполняемые файлы
  • 666 – Текстовые файлы

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

Доступ для создания нового исполняемого файла вычисляется вычитанием значения маски из «дефолтного» значения доступа для созданного типа файла. Пример текстового файла приведен ниже с umask значением 022:
 666 Значение по умолчанию для текстового файла
-022 минус значение umask
-----
644 Разрешенный доступ

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


-rw-r--r-- 1 root workgrp 14233 Apr 24 10:32 textfile.txt


Пример команды установки значения umask:


umask 022


Наиболее распространенное значение umask это 022. Обычно, когда команда umask устанавливается для всех пользователей, это скрипт /etc/profile.

Red Hat Linux имеет ID пользователя и группы, создающих схему, где каждый пользователь принадлежит группе и только этот пользователь принадлежит этой группе. Если вы используете эту схему последовательно,тогда вам нужно устанавливать значение для umask 002.

Взято тут http://www.quizful.net/post/linux-files-permissions
Категория: Unix, Linux | Добавил: astrolon (27.12.2012)
Просмотров: 1411 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Форма входа

Поиск

Друзья сайта


$$$ Зарабатывайте на своем сайте


Экономим вместе. Делимся опытом

Ресурс векторних зображень


Скутер-центр

База знаний от Димона

Зелеминский Форум Медведя

Bozhyk

Стеклим балконы

Борьба с мошенничеством



скорость интернет соединения

Разные релизы Ubuntu

PRCY.ru

Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0