English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Linux система является примером типичного многоуровневого системы пользователей, в которой различные пользователи занимают различные地位 и имеют различные права.
Для защиты безопасности системы, Linux система делает различные назначения прав доступа для различных пользователей для доступа к одному и тому же файлу (включая файлы каталогов).
В Linux мы обычно используем следующие две команды для изменения пользователя и прав доступа к файлу или каталогу:
chown (изменить владелец) : изменить пользователя и группу.
chmod (изменить режим) : изменить права доступа пользователя.
На рисунке через chown предоставляется доступ пользователю, через chmod устанавливаются права доступа, которые позволяют открыть.
В Linux мы можем использовать команды ll или ls –l, чтобы показать атрибуты файла и пользователя, принадлежащего к нему, например:
[root@www /]# ls -l total 64 dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot ...
В примере,bin Первый атрибут файла представлен d. d в Linux代表着, что файл является каталогом.
В Linux первый символ代表着, является ли этот файл каталогом, файлом или ссылкой и т.д.
Когда это d, это каталог;
Когда это -, это файл;
Если это l, то это означает ссылочный документ (link file);
Если это b, то это означает интерфейс устройства файла для хранения данных (устройство с случайным доступом);
Если это c, то это означает устройство файла для последовательного порта устройства, например, клавиатура, мышь (одноразовое устройство чтения).
Следующие символы группируются по три, и все они представляют собой комбинацию из трех параметров rwx. Где r означает возможность чтения (read), w означает возможность записи (write), x означает возможность выполнения (execute). Важно отметить, что положение этих прав доступа не изменяется, и если доступа нет, то会出现减ус (-) вместо них.
Атрибут каждого файла определяется первыми 10 символами с левой стороны (как показано на рисунке).
слева направо. 0-9 эти числа для их представления.
bit 0 место определяет тип файла, 1-3 место определяет владельца файла (владельца файла) и имеет права доступа к файлу.
4-6 места определяют группу владельца (пользователи одной группы владельца) и имеют права доступа к файлу, 7-9 места определяют права доступа других пользователей к файлу.
В том числе, 3rd 1, 4, 7 бит表示 право чтения, если используется символ r, то есть право чтения, если используется символ -, то нет права чтения;
bit 2, 5, 8 бит 表示 право записи, если используется символ w, то есть право записи, если используется символ -, то нет права записи; 3, 6, 9 бит 表示 право выполнения, если используется символ x, то есть право выполнения, если используется символ -, то нет права выполнения.
[root@www /]# ls -l total 64 drwxr-xr-x 2 root root 4096 Feb 15 14:46 cron drwxr-xr-x 3 mysql mysql 4096 Apr 21 2014 mysql ...
Для файла он имеет определенного владельца, то есть пользователя, который имеет право собственности на этот файл.
Кроме того, в системе Linux пользователей классифицируют по группам, пользователь belongs to one or more групп.
Кроме пользователей, belonging to the owner of the file, пользователей можно разделить на пользователей belonging to the same group и других пользователей.
Таким образом, в системе Linux права доступа к файлам определяются владельцем файла, пользователями belonging to the same group, и другими пользователями.
В данном примере файл mysql является каталогом, владельцем и группой которого является mysql, у владельца есть права на чтение, запись и выполнение; у других пользователей, belonging to the same group as the owner, есть права на чтение и выполнение; у других пользователей также есть права на чтение и выполнение.
Для пользователя root, в большинстве случаев, права доступа файла не действуют.
Синтаксис:
chgrp [-R] группа имя_файла
Параметры
-R: Рекурсивное изменение группы файла, то есть при изменении группы файла в каталоге, если добавить параметр -R, то группа всех файлов в этом каталоге также будет изменена.
Синтаксис:
chown [–R] владелец имя_файла chown [-R] владелец:группа имя_файла
Войдите в каталог /root (~), чтобы изменить владельца файла install.log на аккаунт bin:
[root@www ~] cd ~ [root@www ~]# chown bin install.log [root@www ~]# ls -l -rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
Измените владельца и группу файла install.log на root:
[root@www ~]# chown root:root install.log [root@www ~]# ls -l -rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
Linux файлы имеют два способа установки свойств, один из которых - цифровой, а другой - символический.
Основные права доступа к файлам Linux составляют девять,分别是 owner/group/others(владелец/группа/другие) У каждого из трех типов идентификаторов есть свои read/write/execute Права доступа.
Прежде всего复习一下 упомянутые выше данные: символы прав доступа файла - это: -rwxrwxrwx, эти девять прав разделены на три группы по три!
r:4
w:2
x:1
Для каждого идентификатора (owner/group/others)各自的 три прав(r/w/x) необходимо суммировать, например, когда права доступа такие: -rwxrwx--- баллы прав доступа будут:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
Таким образом, при установке изменений прав доступа файла, числовой код прав доступа файла будет: 770.Синтаксис команды для изменения прав доступа chmod такой:
chmod [-R] xyz файл или каталог
Опции и параметры:
xyz : Это提到的 ранее цифровой тип прав доступа, который является суммой значений свойств rwx.
-R : Включает рекурсивное (recursive) продолжение изменений, то есть изменяются все файлы в подкаталоге
Например, если нужно установить все права доступа к файлу .bashrc, то команда будет такой:
[root@www ~]# ls -al .bashrc -rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc [root@www ~]# chmod 777 .bashrc [root@www ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
Если нужно изменить права доступа на -rwxr-xr-- Так что баллы прав доступа становятся [4+2+1][4+0+1][4+0+0]=754.
Есть еще один способ изменить права доступа, из предыдущего介绍а можно узнать, что в основном есть девять прав,分别是:
user: пользователь
group: группа
others: другие
Таким образом, мы можем использовать u, g, o примечает три роли.
Кроме того, a означает allЭто означает все роли. Права на чтение и запись могут быть записаны как r, w, x, то есть можно использовать следующую таблицу для просмотра:
chmod | u g o a | (добавить) -(удалить) =(установить) | r w x | файл или каталог |
Если нужно установить права файла или каталога: -rwxr-xr-- Можете использовать chmod u=rwx,g=rx,o=r для файла и каталога:
# touch test1 // Создать файл test1 # ls -al test1 // Просмотреть default права test1 -rw-r--r-- 1 root root 0 Nov 15 10:32 test1 # chmod u=rwx,g=rx,o=r test1 // Изменить права test1 # ls -al test1 -rwxr-xr-- 1 root root 0 Nov 15 10:32 test1
А если нужно удалить права, не изменяя другие существующие права? Например, чтобы убрать права выполнения для всех пользователей, то:
# chmod a-x test1 # ls -al test1 -rw-r--r-- 1 root root 0 Nov 15 10:32 test1