Свободные программы и системы в школе
Свободные программы и системы в школе читать книгу онлайн
Курс лекций, включенных в брошюру, знакомит читателя с популярными свободными программами и системами, полезными при преподавании информатики в средней школе. В обзор вошли основы открытых операционных систем, сведения о пакете «офисных» программ OpenOffice.org, коммуникационном пакете Mozilla, графическом редакторе GIMP, современных графических средах GNOME и KDE и других программах.
Для преподавателей информатики и методистов, а также для студентов и аспирантов соответствующих специальностей.
© 2002-3, Максим Отставнов.
© 2002, Андрей Добровольский (раздел 3.1).
Использован текст лекций, публиковавшихся автором в приложении к газете «Первое сентября» «Информатика» (http://inf.1september.ru ) в 2002-3 г., материалы брошюры «Прикладные свободные программы в школе» (М.: 2003 г.), а также фрагменты статей, ранее публиковавшихся в журналах «Компьютерра» и «Домашний компьютер».
Материалы, представленные в этой книге, также доступны в Интернет на странице www.otstavnov.com/fsft на условиях Свободной лицензии ГНУ на документацию (GNU FDL). Все прочие права сохраняются за автором.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Изменять права доступа к файлу может лишь его владелец (или главный пользователь системы). Для этого служит команда «chmod» (от англ. «change mode» («изменить режим» доступа к файлу), уже встретившаяся нам в примере выше. Синтаксис этой команды поддерживает две нотации – символическую и числовую. Мы рассмотрим лишь символическую.
Символическая нотация представляет собой операнд-слитную запись клауз из трех составляющих: категории пользователя, вид назначения прав и собственно назначаемые правомочия. Операнд может включать в себя более одной клаузы. Клаузы разделяются запятыми (без промежутков ).
Категории пользователей соответствуют описанным выше и обозначаются последовательностями букв:
«u» – владелец файла; от англ. «user» («пользователь»));
«g» – группа-владелец файла; от англ. «group» («группа»));
«o» – остальные пользователи; от англ. «other» («прочие»)).
«a» – все пользователи (от англ. «all» («все»)), это сокращенная запись для «ugo».
Вид назначения прав может быть трояким:
«+» – добавить правомочия;
«-» – отнять правомочия;
«=» – установить права, в точности соответствующие назначаемым.
Назначаемые правомочия обозначаются последовательностями уже известных нам букв «rwx»-нотации «r», «w», «x», соответствующим правам на чтение, запись и исполнение.
Таким образом,
«chmod u-w файл» отнимет правомочие записи у владельца;
«chmod g+rw файл» добавит правомочия чтения и записи группе-владельцу;
«chmod go=r» установит правомочия группы-владельца и прочих пользователей в точности равными «только чтению»;
«chmod a+x» добавит правомочие исполнения всем пользователям;
«chmod u=rwx,g=rw,o=r» установит правомочия чтения, записи и исполнения для пользователя, чтения и записи для группы и чтения для всех остальных.
Маска прав по умолчанию
Когда пользователь создает файл (командой «touch» или перенаправлением вывода другой команды), права доступа к нему устанавливаются равными маске прав по умолчанию , за исключением того, что правомочие исполнения обычному файлу не присваиваются. Права по умолчанию задаются командой «umask».
Команда «umask -S» без параметров выводит в символическом виде маску прав по умолчанию. Команда «umask» с параметром в «ugo»-нотации (такой же, как у команды «chmod») добавляет, отнимает или устанавливает права в маске прав.
В примере на Рис. 1-41 Алиса выводит маску, создает файл «файл_1», убеждается в том, что права на вновь созданный файл соответствуют маске, отнимает у прочих пользователей вновь создаваемых файлов правомочие чтения, создает файл «файл_2» и убеждается в том, что права на него соответствуют новому значению маски.
Утилита «umask» не является файловой и изменение значения маски не влияет на права существующих файлов. Значение маски сохраняется до нового их изменения командой «umask» или конца сеанса работы с оболочкой.
Особенности прав на каталоги
Следующий пример может показаться контринтуитивным.
У Алисы нет прав на запись в файл «файл». Тем не менее, она может удалить его командой «rm» (Рис. 1-42).
Но никакого парадокса в этом нет. Удаление файла не является изменением его содержания. Удаление файла – это изменение каталога , в котором он содержится и, соответственно, разрешение или запрещение удаления файла зависит не от прав на него, но от прав на каталог (мы помним, что каталог – это тоже файл).
В примере на Рис. 1-43 Алиса создает каталог «каталог_1», создает в нем файл «файл_1», отнимает у владельца (себя) права на запись, тем не менее, удаляет его, затем создает такой же файл и отнимает у себя права на запись в этот каталог. После этого попытка удаления файла приводит к выводу сообщения о нехватке прав для совершения этой операции.
Соответственно, и создать файл в каталоге, прав записи на который у нее нет, она не сможет 33 .
Обратите внимание, что отсутствие права записи в каталог не отнимает у Алисы права на изменение содержимого находящихся в нем файлов (Рис. 1-44).
Это вполне логично, т.к. изменение содержимого никак не влияет на запись в каталоге. Однако здесь есть одна тонкость. Обратите внимание, что первая команда «ls -l» показала длину файла равной 0 байт (что естественно, т.к. этот файл создавался как пустой), а вторая – 4 байта. Разве информация о длине файла не является частью записи о нем в каталоге?
Вся правда о файлах
Дело в том, что понятие о файлах и их «нахождении» в каталоге выше давалось нами в несколько упрощенной форме. Если быть точными, каталог содержит не «файлы», а записи о файлах , вполне подобно тому, как библиотечный каталог содержит не книги, а записи о книгах (или библиографические карточки), а сами книги хранятся на полках 34 . Часть полей, выдаваемых командой «ls -l», относится к файлу как единице хранения («книге на полке»), а часть – к записи о нем в каталоге («библиографической карточке»).
Атрибутом записи о файле в каталоге является поле «имя».
Атрибутам файла как единицы хранения (его называют индексным узлом или и-узлом) соответствуют поля «тип и права», «количество указателей», «владелец», «группа-владелец», «размер», «время модификации».
Кстати говоря, поле «количество указателей» и содержит число «библиографических карточек» (записей в каталогах), соответствующих «книге» (и-узлу). Мы до сих пор имели дело только с и-узлами, которым соответствует одна запись (так обычно и бывает с файлами, создаваемыми пользователями), но так же, как книге могут соответствовать разные карточки (одна в предметном каталоге, другая в алфавитном каталоге названий, третья в алфавитном каталоге авторов...), на один и тот же и-узел могут ссылаться записи в разных каталогах (или разные записи в одном каталоге под разными именами). Создание и удаление дополнительных имен («ссылок») нами рассматриваться здесь не будет.