Авторские статьи O свойствах файла в никсах

Discussion in 'Статьи' started by nerezus, 19 Jul 2005.

  1. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Здравствуйте!

    Сегодня я буду рассказывать о свойствах файла в никсах, это только для новичков, и некоторые пользоваели узнают наконец, что значат такие загадочные надписи, как -rw-r--r-- или 644.
    Итак начнём:
    Введите в консольке(в шеле, терминале, etc...) строку ls -la
    Что вы увидите?
    Кучу строчек, типа такой:
    Но что это значит? Это я и постараюсь объяснить.
    Начну с токо, что безхозных файлов не бывает, у файла всегда бывает хозяин, в данном случае это - user.
    Но как получается, что с некоторыми файлами может работать только хозяин, а с некоторыми все подряд.
    Это зависит от прав файла, учу как их читать: смотрим сюда (-rwxr-xr-x). Тут 10 символов.Первый (-) показывает, что это файл, может быть буквой (d) - каталог. Остальные вам не понадобятся (пока).
    Следующие 9 символов(rwxr-xr-x) - собственно права доступа. Делим эти 9 символов на три группы по три символа. Получаем (rw-), (r--) и (r--).
    Первая(rx-) группа обозначает права хозяина файла, вторая(r--) - права пользователей группы, в которую входит хозяин, третья(r--) - права остальных пользователей.
    Сейчас расскажу, что обозначают эти буковки(r, w, x или -):
    r - право на чтение
    w - право на запись(если на каталоге, то право на запись в него новых файлов)
    x - право на исполнение
    Если место буквы-идентификатора стоит прочерк(-), то такого права нет.
    Торжественный момент: мы прочитаем, что же означает запись(-rw-r--r--):
    это файл(-), владелец(rw-) может его просматривать(r) и писать(w) в него, группа(r--) и остальные(r--) - только чтение(r).


    Изменение прав доступа к файлу выполняется коммандой chmod новые_права имя_файла, где новые_права в формате [(ugo/a)(-/+)(rwx)].
    u - хозяин, g - группа, o - остальные, a - все вместе(равносильно ugo).
    -/+ - добавление/удаление прав.
    rwx - каких именно прав(чтение, запись, исполнение).
    Например: chmod ug+w file.txt - устанавливает право писать в файл для хозяина и группы.

    Права можно задавать и цифрами: например 644. Первая цифра обозначает права хозяина, вторая - права группы, третья - всех остальных.
    r равно 4, w равно 2, x равно 1, складываем, получаем цифру. (Например 6 - это rw-, а 4 - это r--).
    То есть 644 обозначает rw-r--r--.
    Устанавливаются всё той же коммандой chmod( например chmod 644 file.txt - устанавливает права rw-r--r-- файлу file.txt).

    Теперь о владельце файла: его может сменить настоящий владелец или админ(root) командой chown имя_юзера имя_файла
    Например: chown user2 text.txt
    Владелец или админ также может изменить и группу пользователей, которой принадлежит файл: chgrp имя_группы имя_файла
    Например: chgrp wheel text.txt

    Вот и всё! Если кому надо, то в скором времени напишу, как добавлять юзеров/группы.
    С уважением, nerezus