个人工具
登录
查看“UbuntuHelp:FilePermissionsRu”的源代码 - Ubuntu中文
UbuntuHelp
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“UbuntuHelp:FilePermissionsRu”的源代码
来自Ubuntu中文
←
UbuntuHelp:FilePermissionsRu
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{From|https://help.ubuntu.com/community/FilePermissionsRu}} {{Languages|UbuntuHelp:FilePermissionsRu}} == Права доступа в системе Linux == Поскольку Linux (да и UNIX вообще) - многопользовательская OS, в ней существует система прав доступа к файлам, служащая для защиты файлов каждого пользователя от влияния других пользователей системы. Права доступа подразделяются на три типа: * '''чтение''' (read) * '''запись''' (write) * '''выполнение''' (execute) Разрешение на чтение позволяет пользователю читать содержимое файлов, а в случае каталогов - просматривать перечень имен файлов в каталоге (используя, например, команду '''ls'''). Разрешение на запись позволяет пользователю писать в файл, изменять его или удалять. Для каталогов это дает право cоздавать в каталоге новые файлы и каталоги, или удалять файлы в этом каталоге. Наконец, разрешение на выполнение позволяет пользователю выполнять файлы (как бинарные программы, так и командные файлы). Если на файле стоит атрибут ''Execute'', то независимо от его расширения он считается программой, которую можно запустить. (Вот почему в *nix не принято ставить исполняемым файлам расширения по типу DOS'овских ''*.com'', ''*.exe'', ''*.bat''. Вообще в Unix/Linux нет такого жесткого понятия ''расширение файла'', как в Dos/Windows, и система сама определяет тип файлов независимо от их расширения, но это - уже другая история...). Так же атрибут выполнения может стоять у shell-скриптов, CGI-скриптов, и у всего, что можно хоть как-то запустить. Разрешение на выполнение применительно к каталогам означает возможность выполнять команды вроде '''cd'''. Эти типы прав доступа могут быть предоставлены для трех классов пользователей: * '''владельцы''' - у каждого файла в Linux'e есть один владелец. * '''группы''' - с каждым файлом связана группа пользователей этого файла. * '''остальные''' пользователи. Владельцем файла становится юзер, который создал этот файл. Короче говоря, для файла все юзеры делятся на 3 типа: хозяин, или владелец, юзеры, состоящие в одной группе с владельцем, и все остальные юзеры. Для каждого типа - свои права. Учтите, что директории и все системные устройства в UNIX являются обычными файлами. Тот же самый /dev/fd0 - это не сам Floppy disk, а всего лишь файл, связанный с флопповодом. Поэтому, если root запретил юзеру доступ к этому файлу, тот не сможет использовать флопповод (так же обстоят дела с модемами, хардами и т.п.). Владельцем всех системных файлов является root. Он же имеет право забирать файлы у одного юзера и передавать их другому (менять владельца). == Команда chmod == Изменить права доступа к файлу может либо его владелец, либо сам root. Делается это командой chmod. Существует две формы представления прав доступа: символьная и цифровая. === Символьная форма прав доступа === Если войти в любой каталог, где есть файлы, и набрать '''ls -l''', то появится список всех файлов в этом каталоге и права доступа в символьной форме. Строка прав доступа состоит из 10 символов. Первый символ указывает на тип файла: '''d''' - директория, '''-''' - обычный файл. Три последующих - права доступа владельца к этому файлу. Если первый символ из этих трех - '''r''', владелец имеет право читать этот файл, а если '''-''', то не имеет. Следующие 2 символа - '''w''' - писать и '''x''' - запускать. Если вместо них стоит '''-''', значит, владелец этого права не имеет. Еще 3 символа - права доступа группы, еще три - права всех остальных пользователей. Примеры: '''<code><nowiki>drwxrwxrwx</nowiki></code>''' - директория, к которой все имеют любые права доступа. '''<code><nowiki>-rwxr--r--</nowiki></code>''' - обычный файл, владелец может делать все, а остальные - только читать. '''<code><nowiki>-r--------</nowiki></code>''' - обычный файл, который владелец может только читать, а остальные пользователи не видят. Важно заметить, что права доступа, которые имеет файл, зависят также от прав доступа к каталогу, в котором этот файл находится. Например, даже если файл имеет '''<code><nowiki>-rwxrwxrwx</nowiki></code>''', другие пользователи не смогут до него добраться, если у них не будет прав на чтение и выполнение каталога, в котором находится файл. Например, если юзер захочет ограничить доступ ко всем своим файлам, он может просто изменить права доступа своего домашнего каталога ''/home/user'' на '''<code><nowiki>drwx------</nowiki></code>'''. Таким образом, никто другой не будет иметь доступ в его каталог, а следовательно посторонним будут недоступны и все файлы. Так что, пользователь может не заботиться об индивидуальной защите своих файлов. Другими словами, чтобы иметь доступ к файлу, вы должны иметь доступ ко всем каталогам, лежащим на пути от корня к этому файлу, а также разрешение на доступ собственно к этому файлу. Обычно пользователи UNIX весьма открыты всеми своими файлами. По умолчанию файлам устанавливается защита '''<code><nowiki>-rw-r--r--</nowiki></code>''', которая позволяет другим пользователям читать файлы, но ни коим образом их не менять. Каталогам обычно устанавливаются права доступа '''<code><nowiki>drwxr-xr-x</nowiki></code>''', что позволяет другим пользователям ходить с правами экскурсантов по вашим каталогам, но ничего в них не трогать и не записывать. Но многие пользователи хотят держать других подальше от своих файлов. Установив права доступа файла '''<code><nowiki>-rw-------</nowiki></code>''', вы никому не покажете этот файл и не дадите записать в него. Также хорошо закрывает файлы защита соответствующего каталога '''<code><nowiki>drwx------</nowiki></code>'''. С правами доступа в символьной форме '''chmod''' работает так: <pre><nowiki> chmod {a,u,g,o}{+,-}{r,w,x} <filenames> </nowiki></pre> Кратко, вы выбираете из ''all'' (все), ''user'' (пользователь), ''group'' (группа) или ''other'' (другие). Далее указываете, либо вы добавляете права ('''+'''), либо лишаете прав ('''-'''). И наконец, вы указываете один или несколько режимов: ''read'', ''write'' или ''execute''. === Числовая форма прав доступа === Теперь права доступа в числовой форме. Для некоторых эта форма может показаться более простой. Надо запомнить только следующее: * 400 - владелец имеет право на чтение * 200 - владелец имеет право на запись * 100 - владелец имеет право на выполнение * 40 - группа имеет право на чтение * 20 - группа имеет право на запись * 10 - группа имеет право на выполнение * 4 - остальные имеют право на чтение * 2 - остальные имеют право на запись * 1 - остальные имеют право на выполнение Теперь осталось только просуммировать числа, соответствующие тем правам доступа, которые мы хотим поставить файлу. === Примеры === ==== Символьная форма ==== <pre><nowiki> chmod a+r stuff </nowiki></pre> Дает всем пользователям право читать файл stuff. <pre><nowiki> chmod +r stuff </nowiki></pre> То же самое, что и ранее ('''a''' - по умолчанию). <pre><nowiki> chmod og-x stuff </nowiki></pre> Лишает права на выполнение всех, кроме владельца. <pre><nowiki> chmod u+rwx stuff </nowiki></pre> Разрешает владельцу все ('''read''', '''write''' и '''execute'''). <pre><nowiki> chmod o-rwx stuff </nowiki></pre> Запрещает все ('''read''', '''write''' и '''execute''') пользователям категории другие ('''other'''). === Числовая форма=== 400+200+100+40+4=744 <pre><nowiki> chmod 744 stuff </nowiki></pre> владелец может делать все, а остальные - только читать. 400+40+4=444 <pre><nowiki> chmod 444 stuff </nowiki></pre> все имеют право только на чтение. 400+100+10+1=611 <pre><nowiki> chmod 611 stuff </nowiki></pre> владелец может читать и выполнять, остальные - только выполнять. 400+200+100+40+10+4+1=755 <pre><nowiki> chmod 755 script </nowiki></pre> Классическая команда. Скрипт - это исполняемый файл, и все должны иметь к нему доступ на чтение и выполнение. Только владелец этого файла может его изменять или удалять. == Команда chown == Изменение владельца файла осуществляется командой chown, например: <pre><nowiki> sudo chown <имя нового владельца> <имя файла> </nowiki></pre> Для передачи каталога надо вводить: <pre><nowiki> sudo chown -R <имя нового владельца> <имя каталога> </nowiki></pre> == Команда chgroup == Изменение группы, которой принадлежит файл. <pre><nowiki> sudo chown <название новой группы> <имя файла> </nowiki></pre> Для передачи каталога надо вводить: <pre><nowiki> sudo chown -R <название новой группы> <имя каталога> </nowiki></pre> ---- [mailto:xoid26@linux-online.ru Valery V. Kachurov] [[category:UbuntuHelp]]
该页面使用的模板:
模板:From
(
查看源代码
)
模板:Languages
(
查看源代码
)(受保护)
模板:Languages/Lang
(
查看源代码
)(受保护)
返回至
UbuntuHelp:FilePermissionsRu
。