Перейти до змісту
  • Gentoo Way..
  • Эпизод 3 (Gentoo Way)


    Yuriy

    Рекомендовані повідомлення

    Владельцы файлов

     

    Файлы в линукс имеют 2-х владельцев: пользователя и группу.

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

     

    Владельцем пользователем созданного файла является пользователь, который создал файл.

     

    В ОС линукс существуют 3 базовых класса доступа к файлу, в каждом из которых установлены соответствующие права доступа:

    User access (u) - для владельца пользователя файла

    Group access (g) - Для членов группы, являющейся владельцем файла

    Other access (o) - Для остальных пользователей (кроме суперпользователя)

     

    Поддерживается 3 типа прав доступа для каждого класса:

    1. Чтение ®

    2. Запись (w)

    3. Выполнение (x)

     

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

     

    Значение прав доступа различно для разных типов файлов. Чтобы прочитать содержимое файла, пользователь должен иметь право на чтение ®, для записи - право на запись (w), и чтобы запустить какой нить файл, пользователь должен иметь право на выполнение (x).

     

    Исполняемый файл может быть как скомпилированной программой, так и скриптом и не обязан иметь какое либо расширение (аля exe - как в виндовс) - мало того он может вообще не иметь расширения (главное чтобы было право на выполнение).

     

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

    Чтобы записать файл в каталог - вы должны иметь право записи в этот каталог.

     

    СУПЕРПОЛЬЗОВАТЕЛЬ (root)

     

    Это администратор системы - которому позволено ВСЁ!

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

     

     

    ПОДРОБНО О ПРАВАХ ДОСТУПА:

     

    Возьмём к примеру файл /home/yuriy/file.txt (владелец yuriy, группа владелец users). Его права в системе хранятся следующим образом:

    -rw-r--r--

     

    Как это расшифровать?

    Вот шаблон:

     

    msg-4129-1364757801_thumb.jpg

     

    Как же понять какие у кого права (-rw-r--r--) на файл /home/yuriy/file.txt?

    Первый символ "-": Это тип файла, в данном случае это обычный файл или программа

    Могут быть следующие значения:

    b - файл блочного устройства

    c - символьное устройство (права доступа на мою мышь: crw-rw----)

    d - каталог

    l - символическая ссылка

     

    Следующих 3 символа, как видно из шаблона, относятся к владельцу (yuriy) файла. В данном случае ему разрешено читать ® и записывать (w) в файл.

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

     

    Следующие 3 символа относятся к группе (users):

    Для всех пользователей состоящих в группе users разрешено только чтение данного файла.

     

    Для всех остальных пользователей (последние 3 буквы) - запрещены ЛЮБЫЕ действия с файлом.

     

    ТЕПЕРЬ ПРИМЕРЫ:

    Вы пользователь Дженту. Ваш домашний каталог /home/yuriy. Вы создали файл /home/yuriy/file.txt. И хотите закрыть к нему доступ (чтобы никто его не прочитал, не записал, и не запустил кроме вас :) ). Это делает команда chmod:

    # chmod o=---, u=--- /home/yuriy/file.txt

    "o" - значит "все остальные"

    "u" - группа.

     

    Выставить для себя права на чтение, запись, выполнение; для группы только чтение и выполнение; для всех остальных всё запретить:

    # chmod u=rwx, g=r-x, o=--- /home/yuriy/file.txt

     

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

    # chmod a=rwx /home/yuriy/file.txt

    Мы только что разрешили доступ на чиение, запись и выполнение всем (буква "a"). Права на файл выглядят следующим образом:

    -rwxrwxrwx

     

    Случай из моей жизни связанный с Дженту:

    Поставил я себе Дженту. Первым делом захотел музыку послушать. Установил проигрыватель и обломался - звука небыло :( . После хорошего чесания репы, я заглянул в перечень групп в системе, там оказалась группа audio :) . Только я включил своего пользователя в эту группу, сразу и звук появился. Вот такая басня о правах доступа.

    Кстати с видео та же история, чтобы заработало, нужно, себя любимого, включить в группу video. Для интернета в группы dialup, net.

     

    Как это реализовано?

    Разберём на примере звука.

     

    Звуковая карта - это устройство. Что такое устройство с точки зрения линукс? Правильно файл (/dev/dsp). У него следующие права доступа, владелец - root, группа - audio:

    c rw- rw- ---

    И чё мы видим...

    Для всех остальных пользователей всё запрещено (последние три прочерка), мы с вами и являемся "остальными пользователями" для данного файла. Но если мы запишемся в группу audio, то у нас появятся права этой группы - "rw-".

     

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

    Не верьте Торвальдсу - это я написал ядро Linux!

    А не оскорбляют ли верующие религиозные чувства атеистов?

    Если вы прибором будете мерить кое-как, то он вам кое-что и покажет.

    Посилання на коментар
    Поділитись на інші сайти

    А насколько линух стандартизирован? Команды этой и след. статей будут работать в любом дистрибутиве?

    Я не знаю как жить, если смерть станет вдруг невозможной. (с) ДДТ

    А я люблю свою страну, и ненавижу государство! (с) Lumen

    Посилання на коментар
    Поділитись на інші сайти

    А насколько линух стандартизирован? Команды этой и след. статей будут работать в любом дистрибутиве?

    Да. Будут работать. И всё, о чём в этих статьях будет описано, является срандартными методами работы с линуксом. Независимо от дистрибутива.
    Посилання на коментар
    Поділитись на інші сайти

    ×
    ×
    • Створити...

    Важлива інформація

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