Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа №3
Работа пользователя в LINUX
Цель работы: Изучить и опробовать:
1. Регистрация в системе.
2. Основные информационные команды.
3. Управление бюджетами пользователей.
4. Работа с файловой системой.
5. Управление файлами.
6. Управление заданиями.
7. Структура и назначение основных каталогов файловой системы LINUX.
Порядок выполнения работы
1.Регистрация в системе.
Для того, чтобы зарегистрировать пользователя в системе зайдём в систему под именем root (суперпользователь)
login : root
Password : *****
Для входа в систему необходимо ввести имя на запрос login и пароль на запрос password. При правильном вводе происходит загрузка shell, иначе выдается сообщение об ошибке и новый запрос login.
Linux обеспечивает доступ к виртуальным консолям (VC), которые позволяют войти в систему под несколькими именами в одно время. Переключение между виртуальными консолями происходит сочетаниями клавиш alt+Fn, где Fn любая функциональная клавиша.
Например, при выполнении данной лабораторной работы я могла войти в систему
Alt F1:[root@1229-3/root]#
Alt F2:[Alex@1229-3/Alex]$
Logout - команда завершения сеанса. Система возвращается к регистрационному приглашению и ждёт регистрации другого пользователя, т.е. завершает работу текущего пользователя в текущей консоли.
Passwd смена пароля текущего пользователя. Passwd спрашивает старый и новый пароль. Команда для надежности просит дважды ввести новый пароль.
[Alex@1229-3/Alex]$ passwd
Old password:
New password:
Return new password:
Exit - выход из системы. Это наиболее безопасный способ завершения работы пользователя. Exit завершает работу текущего пользователя в окне терминала. Для каждого окна запускается отдельный shell, и команда exit закрывает shell и соответствующее окно.
Shutdown <warning-message> <time> - останов с предупреждением. <time> - время выключения системы (в формате - чч:мм:сс) и <warning-message> - сообщение, выдаваемое на терминалы всех пользователей перед выключением. Можно просто указать время (<time>) как ``now'', что приведет к безотлагательному выключению.
Нажатие Ctrl-Alt-Del перехватывается системой и приводит к её перезагрузке.
2.Основные информационные команды.
Man выдает страницу Руководства по данной команде или ресурсу. (здесь "ресурс" - это любая системная утилита, которая не является командой, например библиотечная функция).
Синтаксис: man <command>
Где <command> имя команды или ресурса, о котором запрашивается информация.
Например:
[root@1229-3/root]# man man - дает информацию о самой команде man. В частности:
NAME - имя команды
SYNOPSIS - синтаксис
DESCRIPTION - описание функции
OPTIONS - опции функции
CAT PAGES
EVIRONMENT
SEE ALSO - смежные команды
BUGS - замеченные некорректности
TIPS
При просмотре подсказки используются клавиши:
f вперед / - поиск вперед q выход
b назад ? поиск назад
Whatis и apropos обеспечивают поиск в базе данных заголовков man-страниц и выдают все найденные заголовки с кратким описанием каждого. Команда whatis позволяет искать заголовки по целым словам. Команда apropos выполняет туже задачу, но поиск роизводится по абзацу, а не по целым словам.
Helptool. позволяет осуществить поиск информации на любой man-странице и в любом текстовом файле руководства.
В каталоге /usr/doc/HOW-TO хранятся текстовые файлы и диалоговая документация по многим приложениям.
3.Управление бюджетами пользователей.
Команда id выводит информацию о пользователе или процессе, запустившем ее: реальные и идентификаторы пользователя и группы, и дополнительные ID группы.
[root@1229-3/root]# id
uid=0(root) gid=0(root) groups=0(root), 1(bin), 2(daemon), 3(sys), 4(adm), 6(disk), 10(wheel).
С помощью опций командной строки можно указать id выдавать только часть перечисленной информации, например
[root@1229-3/root]# id Alex
uid=504(Alex) gid=504(Alex)
Команда who позволяет получить информацию о пользователях системы.
Будучи запущенной без аргументов она показывает следующую информацию о каждом пользователе, вошедшем в систему:
входное имя (login name)
терминал
время входа
имя удаленной машины или дисплея X-терминала
Например:
[root@1229-3/root]# who
root tty1 May 7 17:54 . 1345
Alex tty2 May 7 18:11 10 1429
Выполним команду who, находясь в режиме своего пользователя, она показывает аналогичную информацию, что и команда who, запущенная в режиме суперпользователя:
[Alex@1229-3/Alex]$ who u
root tty1 May 7 17:54 00:05
Alex tty2 May 7 18:11
Команда finger служит для поиска информации о пользователях системы.
Она отображает логин, реальное имя пользователя, терминальное имя и права записи, и время входа в систему, местоположение в офисе и офисный телефон.
[Alex@1229-3/Alex]$ finger
Login Name Tty Idle Login Time Office Office Phone Alex 3 May 7 18:11
kasper 2 11 May 7 17:46
root root 1 6 May 7 17:54
Создадим свой новый бюджет, используя команду useradd или adduser (в зависимости от версии системы).
[root@1229-3/root]# adduser Alex
adduser[579]: new group: name Alex, gid=525
adduser[579]: now user: name = Alex, uid=524, gid=525, home=/home/Alex, shell=/bin/bash
Назначим пароль пользователя . Без введения пароля работать в бюджете нельзя.
[root@1229-3/root]# passwd Alex
Changing password for user Alex
New Unix password: …..
BAD PASSWORD: it is to short - предупреждение о плохом пароле
Retype new UNIX password: ….. - требует подтверждения пароля
Здесь выводится предупреждение о том, что пароль некорректен, т.е. в данном случае состоит из 5 букв. Наиболее подходящим паролем считается набор из 7 символов, не только букв, но цифр (причём, буквы должны быть как верхнего регистра, так и нижнего).
При добавлении пользователя, он заносится в файл паролей /etc/passwd под уникальным именем и идентификатором. Так же описываются идентификатор группы (GID), полное имя и другая информация.
Только root может изменять пароли других пользователей. Пользователи также могут изменять пароли с помощью команды passwd, но только свои собственные.
Файл /etc/passwd содержит следующую информацию про пользователей:
Username уникальный идентификатор, присваиваемый каждому пользователю в системе. Могут использоваться буквы и цифры, а также нижнее подчеркивание и точка. Обычно имена пользователей ограничиваются восемью символами.
User ID (или UID) - идентификатор пользователя - уникальный номер, присваиваемый каждому пользователю системы. Система обычно отслеживает идентификаторы пользователей, а не имена.
Group ID (или GID) - идентификатор группы это идентификатор группы пользователя. Каждый пользователь принадлежит к одной или более группам, определенных системным администратором.
Password система также хранит в зашифрованном виде пароль пользователя. Команда passwd используется для установки и изменения пароля.
Full name "полное имя" или "действительное имя" хранится вместе с именем пользователя. Например, пользователь schmoj может иметь действительное имя ``Joe Schmo''
Каждая строка файла /etc/passwd содержит информацию об одном пользователе; формат строки имеет вид:
username:encrypted_password:UID:GID:full_name:home_directory:login_shell
4.Работа с файловой системой.
В системах UNIX файлы хранятся в файловой системе, которая прежде всего расположена на диске (или на другом устройстве, вроде CD-ROM или дискеты), отформатированном для хранения файлов. Каждая файловая система ассоциируется с конкретной частью дерева каталогов; например, во многих случаях существует файловая система для всех файлов каталога /usr, другая для /home и т.д. Корневая файловая система первичная файловая система, которой соответствует самый верхний каталог /.
Под Linux каждая файловая система "живет" в отдельном разделе диска. Например, если у нас есть файловая система для / и другая для /usr, то потребуется два раздела диска.
Для присоединения файловой системы к основному дереву используют команду mount. Форма команды mount:
# mount устройство каталог_монтирования - монтирование Ф.С. в указанный каталог.
# mount /dev/fd0 /mnt/floppy - монтирование дискеты
# mount -t msdos /dev/hda1 /mnt/dos - монтирование раздела DOS
Команда mount -av фактически монтирует все файловые системы, кроме корневой файловой системы. Корневая файловая система автоматически монтируется ядром во время загрузки.
Перед тем как останавливать систему, необходимo демонтировать все смонтированные ФС командой umount:
# umount устройство каталог_монтирования
# umount /dev/fd0 /mnt/floppy
# umount -t msdos /dev/hda1 /mnt/dos
Нельзя размонтировать корневую файловую систему.
С помощью команды df ознакомимся с разделами винчестера.
[root@1229-3/root]# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda2 495746 394104 76039 84% /
/dev/hda1 584384 401472 182912 69% /mnt/c
Команда df показывает список всех ФС по именам устройств, сообщает их размет и точки монтирования.
В файле /etc/fstab описаны автоматически монтируемые файловые системы.
Формат файла:
[root@1229-3/root]# device directory type options
/dev/hda2 / ext2 defaults
/dev/hda3 /usr ext2 defaults
/dev/hda4 nonе swap sw
/proc /proc proc none
Здесь первое поле - это устройство (имя монтируемого раздела). Второе поле - каталог монтирования. Третье поле - тип файловой системы (например, ext2 для системы типа ext2fs). Последнее поле файла fstab (options) содержит опции монтирования, обычно они устанавливаются в ``defaults''.
Файл fstab содержит одну специальную запись для файловой системы /proc. Файловая система /proc используется для хранения информации о системных процессах, доступной памяти и т.п. Если /proc не смонтирован, то такие команды, как ps не будут работать.
Нельзя размонтировать файловую систему, если хотя бы один из ее файлов "занят" (``busy''), т.е. используется действующим процессом. Например, нельзя размонтировать файловую систему, если хотя бы один из текущих рабочих каталогов пользователя находится на этой файловой системе. При попытке размонтирования такой системы будет получено сообщение ``Device busy''.
#mkfs устройство число_блоков Форматирование дискеты
#mkfs /dev/fd0 1440
#fsck устр. Проверка файловой системы
5.Управление файлами.
Получение информации о файлах и каталогах.
Команда ls (LiSt) выдает на экран
перечень файлов и каталогов (по умолчанию из текущего каталога). Например,
# ls
Но мы не знаем каталоги это или файлы? Можно использовать в этой команде опцию -F,
которая сообщает команде ls, что необходимо выдать дополнительную информацию о типе файлов.
# ls -F
Приписанные справа к именам файлов говорят о том, что:
/ это (под)каталоги;
* это выполняемые файлы или программы;
если ничего не приписано к имени, то это "нормальный" файл, т.е. не каталог и не выполняемый файл.
Если вы напишете в команде ls имя каталога, то она выдаст содержимое указанного каталога.
Используя команду ls с опцией -l можно получить на экране перечень файлов данного каталога в "длинном" формате, включающем информацию о правах доступа.
# ls -l xxx
-rw-r--r-- 1 Alex users 505 May 7 19:05 xxx
Первое поле в выведенной строке представляет права доступа. Второе поле количество жестких ссылок на файл. Третье поле - владельца файла (Alex) и четвертое - группу (users). Очевидно, что последнее поле есть имя файла (xxx). В остальных полях задаются права доступа для других пользователей и группы.
Команды файловых операций.
Команда сd (change directory) - для перемещения по дереву каталогов.
Формат команды cd: cd <directory>
где <directory> - имя каталога, в который мы хотим перейти. Например,
# cd xxx
Команда cd без аргументов возвращает в свой домашний каталог из любого места дерева каталогов.
Команда pwd выводит имя текущего каталога:
# pwd
/home/Alex
Команда cp (CoPy) для копирования файлов.
Формат команды:
# cp <file1> ... <fileN> <destination>
Команда cp копирует файлы (<file1> ... <fileN>), перечисленные в командной строке, в файл или каталог (<destination>), указанный последним аргументом.
Одной командой cp в каталог можно скопировать несколько файлов, а в файл - только один файл.
Команда mv (MoVe) перемещает файлы вместо их копирования.
Например:
# mv <file1> <file2>
После выполнения данной команды файла <file1> не существует, а на его месте будет файл <file2>.
Это можно использовать для переименования файлов и для переноса файлов в совсем другие
каталоги.
Команды mv и cp уничтожают содержимое файла в который они пишут (если он существовал), не спрашивая разрешения.
Команда rm (ReMove) для удаления файлов.
# rm <file1> …<fileN>
Команда rm не будет переспрашивать перед удалением.
Команда rmdir (родственная команде rm) удаляет каталоги, но только пустые.
Если в каталоге есть хоть какие-нибудь файлы или подкаталоги, она просто не сможет его удалить.
Команда mkdir для создания каталога.
#mkdir <dir1> ... <dirN>
Например: [Alex@1229-3/Alex]$ mkdir xxx -создали каталог ххх.
Создание прямой и символической ссылки.
Команда ln используется для создания множества связей для одного файла.
Например, создадим новую связь под именем <file2>, для уже существующего файла
<file1> .
# ln <file1> <file2>
С помощью ls -i можно убедиться, что оба файла имеют один и тот же индекс.
# ls i <file1> <file2>
22192 <file1> 22192 <file2>
Теперь, обращаясь к <file1> или <file2> мы фактически обратимся к одном у тому же файлу. Поэтому, если мы меняем что-то в файле <file1>, эти же самые изменения произойдут в файле <file2>.
Такие связи известны, как жесткие связи (hard links), поскольку они реализуются прямой ссылкой на индекс файла. В рамках одной файловой системы можно организовать только жесткие связи; символические связи не имеют этого ограничения.
Команда ln -s создает символическую ссылку на указанный файл. Синтаксис такой же, как и при создании жесткой связи.
При символической ссылке не используются биты прав доступа. Вместо этого, права доступа к файлу, полученному символической ссылкой, определяются правами доступа к файлу, на который он ссылается.
Команды поиска и вывода.
Команда find для поиска файлов, указанных в параметрах каталогах по имени, типу, владельцу, размеру и по времени последнего изменения.
# find список_каталогов критерии
Для поиска в рабочем каталоге вместо списка каталогов нужно поставить “.”.
Команда file для определения, для чего используется тот или иной файл.
Система изучает несколько первых строк файла и на основании этого пытается отнести его к той или иной категории.
Например, ранее мы создали директорию ххх, а теперь применим данную команду к этой директории:
[Alex@1229-3/Alex]$ file xxx
xxx: directory
/etc/passwd: ascii text - текст в коде ASCII;
Команды more и cat используются для просмотра содержимого файлов.
- more выдает файл на дисплей "поэкранно",
- cat выдает весь файл разом. ( если файл многострочный, то текст промелькнет слишком быстро и на экране останутся лишь последние строки).
При использовании команды more пользовалась клавишами:
~ пробел для перехода к следующей странице
~ b для возврата к предыдущей странице
~ q для выхода из more.
Управление правами доступа.
Команда chmod для изменения права доступа к файлам и каталогам для “владельца”, “группы” и “прочих лиц” (обозначаются соответственно u, g, o).
Для добавления прав доступа используется знак +, для отмены - -. Права доступа на чтение, запись и выполнение обозначаются соответственно r, w и x.
Команда chown для передачи контроля над файлом другому владельцу.
# chown имя_нового_владельца <file1> ... <fileN>
Команда chgrp для изменения группы, владеющую файлом.
# chgrp имя_новой_группы <file1> ... <fileN>
Утилиты группы mtools для работы с файловой системой MS-DOS.
В системе Linux существуют утилиты mtools, которые обеспечивают доступ к дискетам, отформатированным для использования в MS-DOS.
Основные команды mtools:
mcopy копирует файл на диск MS-DOS и обратно.
mcd переход в другой каталог ФС MS-DOS
mdir выдает список файлов в каталоге MS-DOS
mdel удаляет файл MS-DOS
mtype отображает содержимое файла MS-DOS
6.Управление заданиями.
Если задание рассчитано на работу в оперативном режиме, то при обычном его запуске выполнение происходит именно в этом режиме.
Если надо запустить задание в фоновом режиме, то необходимо после строки запуска в командной строке поставить символ “&”. Система выдаст номер задания пользователя (в квадратных скобках) и системный номер процесса.
Например:
[Alex@1229-3/Alex]$ mc &
[1] 1009
Чтобы проверить состояние процесса, используют внутренние команды shell:
команда jobs - отображает список фоновых заданий
(параметры команды jobs : номер задания, остановлено(-) или выполняется(+), имя задания).
Команда ps - отображает список всех процессов
Пример:
[Alex@1229-3/Alex]$ ps
PID TTY TIME CMD
1010 tty 1 00:00:00 mc
1010 tty 1 00:00:00 ps
PID номер (идентификатор) процесса
TTY идентификатор терминала
TIME время выполнения на данный момент
CMD имя процесса
Команда ps PID - отменяет процесс.
Команда fg позволяет перевести задание из фонового режима в оперативный. В качестве аргумента она использует номер фонового задания со знаком процента (%) перед ним.
# fg % n
Команда bd действует обратно команде fg , т.е. переводит задание из оперативного режима в фоновый. Правда происходит это не сразу: сначала нужно прервать выполнение задания командой Ctrl+Z (при этом задание не завершается, а откладывается до его перезапуска командой fg (в оперативном режиме) или bg (в фоновом режиме)), а затем перевести его в фоновый режим командой bg.
Для завершения работы используется команда kill. Эта команда может брать в качестве аргумента как номер работы, так и идентификатор процесса.
При идентификации работы по номеру необходимо впереди ставить символ процента ``%''. А при идентификации работы по номеру PID нужно сразу указывать сам номер:
[Alex@1229-3/Alex]$ kill 1009
Команда at - отложенное выполнение. Она позволяет выполнять команды в указанное пользователем время.
$ аt время команда
7. Структура и назначение основных каталогов файловой системы LINUX.
Файловая система:
В системах UNIX файлы хранятся в файловой системе. Каждая файловая система ассоциируется с конкретной частью дерева каталогов. Корневая файловая система первичная файловая система, которой соответствует самый верхний каталог /.
Под Linux каждая файловая система "живет" в отдельном разделе диска.
Например, если есть файловая система для / и другая для /usr, потребуется два раздела.
Для просмотра структуры основных каталогов файловой системы LINUX, сперва воспользуемся командой cd:
[root@1229-3/root]# cd / - вернемся в корневой каталог
[root@1229-3/root]# ls F - выдаёт перечень файлов и каталогов
На экране появятся каталоги: bin, dev, etc, home, mnt, root, user, usr и var.
Назначение основных каталогов файловой системы LINUX:
/bin - это сокращенно от ``binaries'' (т.е. двоичные или выполняемые файлы). Здесь находится много важных системных программ.
Используя команду
[root@1229-3/root]# ls -F/bin
Пример имеющихся здесь список файлов:
*arch
*ash
*ash.static
*basename
*bash
*cat
*chgrp
*chown
*chmod
Мы обнаружили здесь некоторые команды, вроде chown и chmod, и т.д. Это и есть программы соответствующих команд. Например, когда мы используем команду chown, мы выполняем программу /bin/chown.
Почти все файлы в /bin имеют справа от имени звездочку *. Это говорит о том, что это выполняемые файлы или программы.
/dev "Файлы" в /dev известны как драйверы устройств - они используются для доступа к устройствам и ресурсам системы, таким как диски, память и т.д.
Специальные файлы устройств.
/dev/console системная консоль (т.е. монитор, напрямую связанный с системой. )
/dev/tty синоним терминальной линии для данного процесса
/dev/ttyp0 псевдотерминал с номером n
/dev/mem физическая ОП
/dev/fd0 гибкий диск
/dev/hda1 первый раздел на первом жестком диске
/dev/hdc компакт-диск
/etc содержит множество всевозможных системных файлов конфигурации. Они включают /etc/passwd - файл паролей,
/etc/rc - командный файл инициализации и т.д.
/home содержит домашние каталоги пользователей. Домашний каталог - это каталог, в который пользователь начально попадает при входе в систему. Каждый пользователь должен иметь свой собственный домашний каталог, обычно ниже /home.
Например, /home/Alex - мой домашний каталог.
/usr - это очень важный каталог (подкаталог сервисных подсистем). Он состоит из ряда подкаталогов, которые в свою очередь содержат наиболее важные и полезные программы и файлы конфигурации, используемые системой.
/usr/bin команды и утилиты, ориентированные на пользователя
/usr/lib содержит библиотеки систем программирования, эквивалентные файлам из /lib.
/usr/man этот каталог содержит страницы диалогового Руководства.
/usr/doc документация
/usr/spool буферные файлы
/var содержит каталоги, которые часто меняются в размере или имеют тенденцию быстро расти (временные файлы подсистем, например, печати, почты и т.д.). К числу таких каталогов относятся:
/mnt обычно используется для монтирования файловой системы
/etc системные файлы конфигурации и прочие системные файлы
/etc/rc.d ... скрипты инициализации
/etc/passwd файл бюджетов
/etc/fstab файл автоматического монтирования ф.с.
/etc/lilo.conf файл конфигурации LILO
/etc/skel каталог шаблонов файлов инициализации
/etc/gettydefs файл конфигурации терминалов
Контрольні запитання
1. Як відбувається регестрація в системі?
2. Що робить команда Logour?
3. Які основні команди ви знаєте? Як вони працюють?
4. Яка команда виводить інформацію про користувача?
5. Що робить команда Who?
6. Як створити свій новий бюджет?
7. Якою кількістю символів обмежуються імена користувача?
8. Як в системі UNIX зберігаються файли?
9. Чим відрізняється команда “mount” від команді “mount-ov”?
10. Як ознайомитися з розділами жорсткого диску?
11. Який запис зберігає файл “fstab”?
12. Як отримати інформацію про файли та каталоги? Як отримати додаткову інформацію?
13. Для чого використовується команда “CP”?
14. Як продивлятися склад файлу?
15. Які основні команди “mtools”?
16. Як перевірити стан процеса?
17. Як ”живе” файлова система Linux?