Вы находитесь на странице: 1из 44

Министерство Образования, Культуры и Исследований

Молдавский Государственный Университет


Факультет Математики и Информатики
Департамент Информатики

Лабораторная работа №4
Тема: Основные команды Linux.
По курсу “Операционные системы.”

Выполнил: студент группы I2002_2


Чернова Алина
Проверил преподаватель:
Аурелия Припелицэ

Кишинев, 2020
--------------------------------------------------------------------------------------------------
Часть 1. Использовать команды Linux из списка:

su, sudo, groupadd, groupdel, useradd, userdel, passwd, pwd, dir, mkdir,
cd, tree, cat, tac, ls, ls –l, cp, rm, mv, chmod, ln, mcedit, nano, pico, man,
more, less, write, mesg, touch, finger, who, whoami, last, ps, kill, ifconfig,
tty. I-node.
--------------------------------------------------------------------------------------------------

Su (Substitute User Set UID, Switch User, Super User) - замена


пользователя, переключение пользователя, суперпользователь)
— команда позволяющая пользователю войти в систему под другим
именем, не завершая текущий сеанс.

Временное переключение под "суперпользователя" root.


Вид: su.
Результат: на экран выводится запрос пароля для
"суперпользователя", и если ответ был верен, то происходит
переключение под root.

Переключение под любого пользователя.


Вид: su –l alina, или можем опустить l, но обязательно указать “-“.
Иначе пользовательский каталог не будет изменён.
Su –c “нужная_команда” [[-] имя пользователя]
Таким способом можно выполнить нужную команду от имени
определенного пользователя, не переключаясь под него явно
даже временно. 

--------------------------------------------------------------------------------------------------

Sudo (Substitute user and do) - позволяет выполнять программы от


имени любого пользователя, но, если идентификатор или имя этого
пользователя не указаны, то предполагается выполнение от имени
суперпользователя root. 

Sudo –h значит показать справку и выйти


Sudo – l значит показать список прав пользователя.

Sudo su значит выполнить команду su, то есть создать сеанс


“суперпользователя” root.

--------------------------------------------------------------------------------------------------
Groupadd Создает новую группу с использованием параметров,
указанных в командной строке, а также значений по умолчанию.
Только root или пользователь с привилегиями sudo могут создавать
новые группы.

Для создания группы пользователей требуются права


суперпользователя. Мы можем создать обычной группы
пользователей используя groupadd без каких-либо параметров.
Groupadd-g значит создать группу пользователей с заданным
идентификатором.

Groupadd-K выбрать идентификатор новой группы пользователей из


диапазона от / до.

--------------------------------------------------------------------------------------------------

Groupdel Изменяет системные файлы учётных записей, удаляя все


записи, относящиеся к группе. Группа с таким именем должна
существовать.

Следовательно, группа – удалена.


--------------------------------------------------------------------------------------------------

Useradd Добавляет/создаёт нового пользователя.


- укажем пароль для пользователя

Useradd –c для создания комментария.

Вы можете увидеть ваши комментарии в файле /etc/passwd в разделе


комментариев. Где tail – выводит несколько (по умолчанию 10)
последних строк из файла.
Useradd –D для просмотра настроек по умолчанию.

--------------------------------------------------------------------------------------------------
Userdel Удаляет учётную запись и файлы пользователя.

С помощью sed 's/:.*//' /etc/passwd мы можем отфильтровать вывод


так, что бы были видны только имена пользователей. Где
sed - это потоковый редактор текста, работающий по принципу
замены. Его можно использовать для поиска, вставки, замены и
удаления фрагментов в файле.
Удаляем последнего пользователя с помощью команды userdel без
ключей 
Userdel –f значит принудительно удалить пользователя, даже если он
сейчас работает в системе

Userdel –r значит удалить домашний каталог пользователя

- пользователь не был найден командой grep, подтверждающей, что


мы удалили учетную запись пользователя из системы.
--------------------------------------------------------------------------------------------------

Passwd После ввода команды последует запрос на ввод


существующего пароля текущей учётной записи и запрос на новый
пароль. 
Passwd –d удалить пароль для указанной учетной записи

Passwd –S --all сообщать о статусе пароля для всех учетных записей


--------------------------------------------------------------------------------------------------

Pwd Выводит полный путь от корневого каталога к текущему


рабочему каталогу: в контексте которого (по умолчанию) будут
исполняться вводимые команды.

--------------------------------------------------------------------------------------------------

Mkdir Команда для создания новых каталогов.


Mkdir –p для создания подкаталогов.

Mkdir –v распечатать сообщение для каждого созданного каталога

--------------------------------------------------------------------------------------------------

Dir Получение всех папок и файлов в текущем каталоге.


Dir –c сортировать по ctime, сначала самые новые.

Dir –i вывести порядковый номер каждого файла

--------------------------------------------------------------------------------------------------
Cd Команды смены текущего каталога.

“..” это переход в родительский каталог.


“-“ возвращаемся в предыдущую папку.

Cd -e сообщает об ошибке

Cd –L после обработки".." переходит по символическим ссылкам.

--------------------------------------------------------------------------------------------------

Tree Умеет изображать структуру всех каталогов, имеющихся на


компьютере, в виде дерева.

Его применение без ключей было представлено ранее в отчёте.

Tree –d отображает только каталоги.


Tree –h распечатывает размер в более удобном для восприятия виде.

--------------------------------------------------------------------------------------------------

Cat  С помощью этой команды можно очень просто посмотреть


содержимое небольшого файла, склеить несколько файлов и многое
другое.
Например, создадим файл.

Cat –n нумерует строки, если файла не существует – выводит


сообщение об ошибке.

Cat –E вставляет в концы строк символ $

--------------------------------------------------------------------------------------------------

Tac Противоположна cat в том смысле, что вывод, который она


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

Tac – r интерпретировать разделитель как регулярное выражение

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

Вывести информацию о файлах (по умолчанию текущий каталог).

Ls –author –l вывести автора каждого файла

Ls -s, печатать удобочитаемые размеры.


Ls –l выводится подробная информация об объектах. Тип файла,
права доступа к файлу, количество ссылок на файл, имя владельца,
имя группы, размер файла (в байтах), временной штамп и имя файла.

--------------------------------------------------------------------------------------------------

Cp Копирует файлы.

-n значит не перезаписывать существующий файл


-i отменяет предыдущую опцию –n

--------------------------------------------------------------------------------------------------

Rm Используется для удаления файлов из файловой системы.

-r или –R значат, что будет удаляться все дерево каталогов ниже заданного
каталога, включая и его самого.
-i запрос разрешения на удаление.

--------------------------------------------------------------------------------------------------
Mv Используется для перемещения одного или нескольких файлов
(или директорий) в другую директорию, а также для переименования
файлов и директорий.

Перемещение 
Переименование 

--------------------------------------------------------------------------------------------------

Chmod Предназначена для изменения прав доступа к файлам и


каталогам.
Команда ls -l отображает права доступа, назначенные файлу.

Chmod u-r забирает у пользователя права на чтение.

Chmod ugo-rwx, где rwx являются правами доступа для владельца


файла (чтение, запись, выполнение); Ugo – все пользователи.
Чтобы распределить права для соответствующих групп, используются
цифровые обозначения:
4 = read (право на чтение) 2 = write (право на запись) 1 = execute (право
на выполнение).

7 = read, write & execute


6 = read & write
5 = read & execute
4 = read
3 = write & execute
2 = write
1 = execute
--------------------------------------------------------------------------------------------------
Ln Используется для создания ссылок.

По умолчанию делаются жесткие ссылки.


Ln –s - создать символьные ссылки.
Жёсткая ссылка указывает на индексные дескрипторы, а мягкая только на
жёсткую ссылку. Если удалить все жёсткие ссылки файла, то символьная
ссылка работать не будет.
--------------------------------------------------------------------------------------------------

Mcedit Внутренний редактор файлов из GNU Midnight Commander.


-V, --version Отображает текущую версию

-e, --edit = <файл> ... Редактировать файлы

--------------------------------------------------------------------------------------------------

Nano Текстовый редактор Nano входит в набор программ GNU и


является стандартным консольным редактором для многих
дистрибутивов Linux.

-k --cut Вырезать от курсора до конца строки


--------------------------------------------------------------------------------------------------

Pico - это текстовый редактор для UNIX и основанных на UNIX


компьютерных систем.

--------------------------------------------------------------------------------------------------

Man Под сокращением "man" скрывается слово "manual"


(руководство), представляющее собой набор страниц, которые могут
рассказать вам о предназначении многих команд. 
man -a intro - последовательно отобразить все доступные вводные
справочные страницы, содержащиеся в руководстве по эксплуатации.
Можно выйти между последовательными отображениями или
пропустить любой из них.

--------------------------------------------------------------------------------------------------
More Используется при открытии файла для интерактивного
чтения. Если содержимое файла слишком велико, чтобы помещаться
на одном экране, оно отображает содержимое страницы за страницей.

-d отображать справку вместо звонка в колокольчик


-f подсчитывать логические, а не экранные строки
-l подавить паузу после подачи формы
-c не прокручивать, отображать текст и очищать концы строк
-p не прокручивать, очищать экран и отображать текст
-s сжать несколько пустых строк в одну
-u подавить подчеркивание
- <number> количество строк на экран
+ <номер> отобразить файл, начиная с номера строки
+ / <string> отобразить файл, начиная с совпадения строки поиска
-V отобразить информацию о версии и выйти

--------------------------------------------------------------------------------------------------
Write с другими пользователями путем копирования строк Вашего
терминала в их.

К сожалению, нет возможности продемонстрировать за отсутствием


пользователей.

(1) Утилита записи позволяет вам общаться с другими


пользователями, копируя строки из вашего терминала в их.

(2) Когда вы запускаете команду записи, пользователь, которому вы


пишете, получает сообщение формы:
Message from yourname@yourhost on yourtty at hh:mm ...

(3) Любые дальнейшие строки, которые вы введете, будут


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

(4) Когда вы закончите, введите символ конца файла или прерывания.


Другой пользователь увидит сообщение "EOF", указывающее что
разговор окончен.

(5) Вы можете запретить людям (кроме суперпользователя) писать вам


с помощью команды mesg.

(6) Если пользователь, которому вы хотите писать, вошел в систему


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

(7) В качестве альтернативы вы можете позволить записи выбрать


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

(8) Традиционный протокол для записи кому-либо заключается в том,


что строка '-o' либо в конце строки, либо в строке сама по себе
означает, что настала очередь говорить собеседнику. Строка «оо»
означает, что человек считает, что разговор окончен.

--------------------------------------------------------------------------------------------------

Less Используется для открытия заданного файла для интерактивного


чтения, позволяющего прокручивать вверх и вниз по файлу и искать.

Программа Less похожа на программу more (1), но имеет гораздо


больше возможностей. Less не должен читать весь входной файл
перед запуском, поэтому с большими входными файлами он
запускается быстрее, чем текстовые редакторы, такие как vi (1).

h H Показать эту справку.

q: q Q: Q ZZ Выход.
--------------------------------------------------------------------------------------------------

Mesg используется для разрешения или запрета другим


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

Параметры:
-v, --verbose объяснить, что делается
-h, --help отобразить эту справку и выйти
-V, --version вывести информацию о версии и выйти.

--------------------------------------------------------------------------------------------------

Touch  предназначенная для установки времени последнего


изменения файла или доступа в текущее время.

Создадим пустые файлы.


Touch создаст новый пустой файл, если он не существует, он изменит
временные метки существующего файла. Вы можете остановить
создание нового файла с параметром -c.

Как мы могли заметить с помощью –c пустой файл не создался.

Мы также можем использовать временные метки другого файла в


качестве ссылки с параметром -r следующим образом 
--------------------------------------------------------------------------------------------------

Finger для поиска сведений о пользователе.

-s Finger отображает имя пользователя, настоящее имя, имя терминала


и статус записи.

-l Finger создает многострочный формат, отображающий всю


информацию, описанную для параметра -s, а также информацию о
пользователе.

--------------------------------------------------------------------------------------------------

Who С ее помощью можно узнать всю доступную информацию о


пользователях, которые активны в системе сейчас или были активны
раньше.

-i, --ip-addr отображать IP-адрес вместо имени хоста (если возможно)

-s, --короткий короткий формат


--------------------------------------------------------------------------------------------------

Whoami выводит имя пользователя, ассоциированное с текущим


эффективным идентификатором пользователя. 

--------------------------------------------------------------------------------------------------
Last отображает информацию о последних сеансах входа
пользователей системы.

-p, --present <время> показать, кто присутствовал в указанное время

-V, --version вывести информацию о версии и выйти

--------------------------------------------------------------------------------------------------

Ps для просмотра информации о работе запущенных процессов в


системе

-ejH для отображения дерева процессов


-f для вывода максимум доступных файлов

-ef для представления каждого процесса в системе, с


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

Kill Посылает сигнал процессу. Обычно используется для «убийства»


процесса (прерывание процесса).

kill -9-1 убейте все процессы, которые вы можете убить.

kill -l 11 переведите цифру 11 в название сигнала.

kill –L Составьте список доступных вариантов сигнала в красивой


таблице.
--------------------------------------------------------------------------------------------------

Ifconfig включать или выключать сетевые интерфейсы, настраивать их


параметры, переключать режимы и многое другое. 

-s отобразить короткий список (например, netstat -i)

-a отображать все доступные в данный момент интерфейсы, даже если


они не работают
--------------------------------------------------------------------------------------------------

Tty выводящая имя терминала, соединённого со стандартным вводом.


В случае, если стандартный ввод не является терминалом, выводит
сообщение «not a tty».

-s, --silent, --quiet ничего не печатать, только возвращать статус выхода

--help отобразить эту справку и выйти

--version вывести информацию о версии и выйти


--------------------------------------------------------------------------------------------------

I-node индексный дескриптор - это структура данных, в которой


хранятся метаданные файла и перечислены блоки с данными файла. 

Inode – это сокращение от «index node», по-русски – индексный узел.


По сути он представляет собой уникальную порцию метаданных в
заданной файловой системе. Эта порция метаданных описывает то,
что мы называем файлом.

Чтобы узнать количество inode в вашей системе, мы можем


использовать команду df с опцией –i.

Мы также можем узнать номер inode конкретного файла. Для этого


можно использовать команду ls -i с указанием нужного файла. 

Подобно тому, как мы узнали номер inode файла, мы можем


посмотреть и номер inode каталога. 

--------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------
Часть 2. Изменение прав доступа.
--------------------------------------------------------------------------------------------------

Введение

Права доступа определяют набор действий, разрешённых для выполнения


субъектам над объектами данных.

Каждому файлу соответствует набор прав доступа, представленный в виде 9-


ти битов режима.

Он определяет, какие пользователи имеют право читать файл, записывать в


него данные или выполнять его.

Вместе с другими тремя битами, влияющими на запуск исполняемых файлов,


этот набор образует код режима доступа к файлу.

Двенадцать битов режима хранятся в 16-битовом поле индексного


дескриптора вместе с 4-мя дополнительными битами, определяющими тип
файла.

Последние 4 бита устанавливаются при создании файлов и не подлежат


изменению.

***

Биты режима то есть права могут изменяться либо владельцем файла, либо
суперпользователем с помощью команды chmod.

Каждый файл должен иметь владельца (owner), группового владельца (group


owner), а также может потребоваться доступ для всех остальных
пользователей (everyone).

Эти названия обычно приводятся как пользователь/группа/


остальные (user/group/others) или коротко ugo.

Управление доступом к файлам осуществляется по трем флагам: флаг чтения


(Read), флаг записи (Write), флаг выполнения (eXecute).

fla
user group other
g
# rwx rwx rwx
Флаг Описание
- Отсутствие флага
l - лат.
Символическая ссылка (symbolic link)
«л»
d Директория (directory)
b Блочное устройство (block device)
c Символьное устройство (character device)
p Канал, устройство fifo (fifo device)
s Unix сокет (unix domain socket)

Посмотреть права доступа на объекты можно командой ls 


c ключем –l.

1-ая колонка – права доступа


2-ая колонка – имена владельца файлов/директорий
3-яя колонка – название групп
4-ая колонка – имена файлов

Для файлов: r - право на чтение из файла; w - разрешает запись в файл (в


частности перезапись или изменение); x - позволяет исполнить файл.

Для каталогов: r - позволяет читать только имена файлов в каталоге; x -


позволяет иметь доступ к самим файлам и их атрибутам (но не
именам); w имеет смысл только в сочетании с x, и позволяет (в дополнение
к x) манипулировать с файлами в каталоге (создавать, удалять и
переименовывать). w без x - не имеет никакого эффекта.

OC
BIN Mask Права на файл Права на каталог
T

0 000 --- отсутствие прав отсутствие прав

1 001 - - x права на выполнение доступ к файлам и их атрибутам1)


OC
BIN Mask Права на файл Права на каталог
T

2 010 - w - права на запись отсутствие прав

права на запись и
3 011 - w x все, кроме доступа к именам файлов2)
выполнение

4 100 r-- права на чтение только чтение имен файлов

права на чтение и чтение имен файлов и доступ файлам и их


5 101 r-x
выполнение атрибутам3)

6 110 r w - права на чтение и запись только чтение имен файлов

7 111 r w x полные права все права

Давайте вернёмся и на примере рассмотрим какими правами обладают наши


файлы и каталоги.

1 строка 
Первый символ (флаг) пустой: « - » - для файлов.
Следующие три символа rw- права на чтение и запись для пользователя itachi
Следующие три символа rw- права на чтение и запись для группы itachi
Ну и последние три символа r-- определяют права для всех остальных
пользователей, в нашем случае права только на чтение.

2 строка 
“d” свидетельствует о том, что это каталог
Остальные --- --- означают отсутствие прав для пользователя itachi и группы
itachi

Команда chmod изменить биты режима файла


chmod <опции> <права> <объект или регулярное выражение>

Опции.

-R - рекурсивное назначение прав. Т.е. назначить права всем объектам,


руководствуясь регулярным выражением.
Например:

chmod -R 755 * -


назначение прав всем
объектам текущего
каталога, включая
подкаталоги.

--------------------------------------------------------------------------------------------------

chmod -R 700 z* - Назначить полные права для владельца и исключить права
для группы и всех остальных для всех объектов, которые начинаются
именоваться на z, находящиеся в текущем каталоге и его подкаталогах.

--------------------------------------------------------------------------------------------------
Права.

Права можно записывать как в восьмеричном представлении так и в


символьном. В восьмеричном представлении, для стандартных прав,
указываются 3 восьмеричные цифры (1-я для владельца, 2-я для группы, 3-я
для всех остальных. 

Например:

chmod 700 1.txt - установит права для файла 1.txt - (r w x - - - - -);


chmod -R 777 shitobi - установит права на каталог shitobi  (d r w x r w x r w x);

Возможно задать права кому-то определённому.


u - владельцу объекта;
g - группе объекта;
o - пользователю «все остальные»;
a - все вышеперечисленное.

Для назначения прав используются три знака: минус, плюс или равно:
-  убрать указанные права с объекта;
+  добавить указанные права к существующим правам объекта;
=  заменить права объекта на указанные.

Например:
Где, chmod g-w 3.txt убрать у пользователей группы права на чтение для
файла 3.txt

А, chmod ug=rw 1.txt выставить права на чтение и запись файлу spisok.doc


для владельца и группы. 

Вывод: В ходе выполнения данной работы я поняла смысл данных в условии


команд, а так же узнала об изменении прав доступа и попрактиковалась в их
изменении.

Вам также может понравиться