русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Установка прав доступа


Дата добавления: 2015-07-09; просмотров: 1014; Нарушение авторских прав


Команда chmod предназначена для изменения прав доступа к файлам и ката- логам, указанным в качестве аргументов. Права доступа должны быть указа- ны либо в восьмеричной, либо в символьной нотации. Изменять права досту- па к файлу могут только суперпользователь и владелец файла.

В примере 6.9 показано использование команды chmod для изменения прав доступа к файлу в восьмеричной нотации.

 

Пример 6.9. Изменение прав доступа в восьмеричной нотации

 

$ ls -l text.c  
-rw-r--r-- 1 prof tania 175 Dec 13 21:24 text.c
$ chmod 660 text.c    
$ ls -l text.c    
-rw-rw---- 1 prof tania 175 Dec 13 21:24 text.c

 

Команда chmod 660 text.c установила права 660 на файл text.c.

Команда chmod позволяет также устанавливать права на доступ к файлу, ука- зывая их в символьной нотации. Для этого применяется следующая форма команды:

chmod класс изменение права файлы


Здесь класс — один из следующих:

r u — доступ владельца;

r g — доступ группы владельцев;

r o — доступ всех остальных;

r a — доступ всех групп пользователей. Аргумент изменение:

D + — разрешить (добавить);

r - — запретить (убрать);

D = — установить (переписать).

Аргумент права:

r r — чтение;

r w — запись;

r x — выполнение.

Предположим, что для файла text.c требуется удалить право на запись для группы и добавить право на чтение для остальных. Пример 6.10 демонстри- рует это.

 

Пример 6.10. Изменение прав доступа в символьной нотации

 

$ chmod g-w,o+r text.c

$ ls -l text.c

-rw-r--r-- 1 prof tania 175 Dec 13 21:24 text.c

 

Если используются операции разрешения + или запрета - прав на файл, то они не изменяют те биты прав доступа, которые не относятся к требуемому изменению.



Наоборот, использование операции назначения = стирает те права, которые были установлены ранее, и назначает новые. Так, например, установим на файл text.c права на чтение и запись для владельца и группы и запретим всем остальным какой-либо доступ к файлу (пример 6.11).

 

Пример 6.11. Установка прав доступа со сбросом предыдущих прав

 

$ chmod ug=rw,o= text.c

$ ls -l text.c

-rw-rw---- 1 prof tania 175 Dec 13 21:24 text.c


 

Аналогично командам chown и chgrp, команда chmod способна рекурсивно изменять права доступа к каталогам и всему их содержимому, если она вы- звана с опцией -R. Однако этой возможностью следует пользоваться с особой осторожностью, принимая во внимание концептуальные отличия прав на файлы от прав на каталоги — на файлы в большинстве случаев устанавлива- ются четные права (отсутствие прав на исполнение), а на каталоги наобо- рот — нечетные (без права на search каталоги не позволят обращаться к ме- таданным файлов внутри них).

Приведенная в примере 6.12 команда снимает права на запись для каталога

scores.

 

Пример 6.12. Рекурсивная установка прав доступа

 

$ ls -lR scores scores:

total 1

drwxrwxr-x 2 prof users 80 Aug 24 16:20 rnd_tutorial scores/rnd_tutorial:

total 4

-rw-rw-r-- 1 prof users 1040 Aug 24 16:20 000.score

$ chmod -R g-w scores

$ ls -lR scores scores:

total 1

drwxr-xr-x 2 prof users 80 Aug 24 16:20 rnd_tutorial scores/rnd_tutorial:

total 4

-rw-r--r-- 1 prof users 1040 Aug 24 16:20 000.score

 

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

Рекурсивное изменение прав на каталог и его содержимое используют для дополнения или запрета доступа на чтение или запись. Часто права на ката- логи и на файлы устанавливаются отдельно командой find с модификатором

-exec chmod.

Например, в каталоге scores требуется установить для файлов права 644, не затрагивая при этом права на каталоги (пример 6.13).


 

Пример 6.13. Установка прав на выбранные командой find файлы

 

$ find scores -type f -exec chmod 644 {} \;

$ ls -lR scores scores:

итого 1

drwxr-xr-x 2 prof users 80 Авг 24 16:20 rnd_tutorial scores/rnd_tutorial:

итого 4

-rw-r--r-- 1 prof users 1040 Авг 24 16:20 000.score

 

GNU-версия команды chmod позволяет использовать опцию -v для получения подробной информации о файлах (пример 6.14), для которых изменяются права, и опцию -c для получения подробностей изменения прав.

 

Пример 6.14. Использование опции -v команды chmod

 

$ chmod -Rv g-w scores

права доступа `scores' изменены на 0755 (rwxr-xr-x)

права доступа `scores/rnd_tutorial' изменены на 0755 (rwxr-xr-x)

права доступа `scores/rnd_tutorial/000.score' изменены на 0644(rw-r--r--)

 

Однако опция -v выдает подробную информацию всегда, а -c только тогда, когда права действительно изменяются (пример 6.15).

 

Пример 6.15. Использование опции -c команды chmod

 

$ chmod -c g-w text.c

права доступа `text.c' изменены на 0640 (rw-r-----)

$ chmod -v 660 text.c

права доступа `text.c' изменены на 0660 (rw-rw----)

 



<== предыдущая лекция | следующая лекция ==>
Изменение прав владения | Автоматическая установка прав доступа к вновь создаваемым файлам


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.