1.12 – Задания 1-5

Часть 1

  1. Создайте двух пользователей: user1 и user2. Установите для них пароли и войдите в систему под именем одного из созданных пользователей.
  2. Заблокируйте ранее добавленную учетную запись пользователя user1, выйдите из системы и убедитесь, что учетная запись больше не может обращаться к системе. Затем разблокируйте учетную запись user1. Создайте две новые группы, называемые group1 и group2. Выполните команду, которая добавит учетную запись user2 в обе эти группы. Используйте одиночную команду для добавления этого пользователя сразу к двум группам.
  3. Добавьте пользователя user2 в соответствующий файл, чтобы пользователь имел возможность выполнять команды с привилегиями суперпользователя/root. Войдя в систему как пользователь user2, создайте небольшой текстовый файл с любым содержимым в каталоге /root.
  4. Войдите в систему под именем пользователя root. Создайте новый каталог в домашнем каталоге пользователя root, называемый ‘filemaintenance’. Перейдите в этот каталог и создайте три файла: file1, file2 и file3. Вернитесь в родительский каталог (домашний каталог root), а затем скопируйте файлы, расположенные в filemaintenance, в домашний каталог root.
  5. Вернитесь в домашний каталог пользователя root. Переместите каталог «filemaintenance» и все его содержимое в другой каталог с именем «movedfiles».
  6. Заблокируйте учетную запись user1 еще раз. Выйдите из системы. Попытайтесь войти в систему три раза, используя недавно заблокированную учетную запись пользователя user1. После третьей неудачной попытки войдите в систему как пользователь root и разблокируйте пользователя. Затем просмотрите последние 10 строк соответствующего файла журнала в системе, которые будут отображать эти неудачные попытки входа.
  7. Войдите в систему под учетной записью root, произведите поиск в системе файла конфигурации с названием «ld.so.conf» и вызовите строку с его местоположением и адресом. Перенаправьте содержимое этого файла во второй файл с именем ld.so.conf.out в вашем домашнем каталоге.
  8. Скопируйте следующие файлы в домашний каталог пользователя root:
  • /etc/hosts
  • /var/log/ dmesg
  • /usr/bin/whoami

Измените права доступа каждого файла следующим образом:

  • hosts – только пользователь-владелец файла может читать/записывать/выполнять, нет прав доступа для группы и остальных пользователей
  • dmesg – пользователь-владелец может читать/записывать, группа и остальные пользователи – читать/выполнять
  • whoami – каждый имеет право на выполнение, никаких других разрешений
  1. Измените владельца и группу всех файлов выше, чтобы они принадлежали user2.
  2. Войдите в систему как root, если вы еще этого не сделали. Создайте задание cron, которое будет создавать список всех пользователей, каталоги которых имеются в домашнем каталоге (home) каждый день в полдень и сохранять данный список в файле, называемом «cronoutput.out», который вы создадите в своей домашней директории.
  3. Создайте еще одно задание cron, выполняющее тот же процесс, что и последний, в 15 минут каждого часа (0:15, 1:15, 2:15 и т.д).
  4. Создайте еще одно задание cron, которое выполняет тот же процесс, что и последние два, но каждые 3 минуты между полуночью и 1:00 каждого 1-го числа месяца.
  5. Выполните команду для подготовки вашей системы к установке пакетов, используя apt-get или yum. Произведите поиск доступных пакетов и описаний для веб-сервера Apache. Перенаправьте эти результаты в файл с именем «search.out» в домашнем каталоге root.
  6. Установите все доступные системные обновления для вашей системы. Так же, установите веб-сервер Apache. При выполнении установки передайте соответствующий параметр в командную строку, чтобы вас не попросили подтвердить установку.

Часть 2:

Измените пароль root в вашей системе на linuxtest. Выйдите из системы и войдите в систему под учетной записью root. Удалите пользователя user1 из системы, включая удаление директории /home /user1

  1. Войдя в систему как обычный пользователь, выполните команду, которая позволит вам войти в учетную запись root.
  2. В качестве пользователя root создайте пользователя с именем testuser. Убедитесь, что домашний каталог /home/testuser создан во время создания пользователя. Так же, создайте пароль для пользователя testuser.
  3. Закройте учетную запись root, запустите команду, чтобы войти в систему под именем нового пользователя. Используя команду sudo, попытайтесь отредактировать файл /etc/sudoers и обратите внимание на результаты.
  4. Выполните команду, которая позволит вам войти в учетную запись root. Отредактируйте файл /etc/sudoers. Убедитесь, что любому члену группы wheel (sudo, в зависимости от дистрибутива) предоставлены привилегии sudo.
  5. Добавьте тестового пользователя в группу wheel в соответствующем файле. Войдите в систему как пользователь testuser. Снова попробуйте отредактировать файл /etc/sudoers с помощью команды sudo и обратите внимание на результаты.
  1. Создайте каталог “myscripts” в своем домашнем каталоге. Создайте пустой скрипт в этом каталоге с именем mycron.sh.
  2. Отредактируйте только что созданный файл mycron.sh. Добавьте в верхний колонтитул соответствующий комментарий оболочки, который идентифицирует его как скрипт. Скрипт должен сделать следующее:
  • Отображать дату и время на терминале
  • Показать все монтированные файловые системы и место на диске
  • Отображать дату и время на терминале (второй раз)
  • Выводить информацию о свободной памяти в системе
  1. Убедитесь, что скрипт, однажды сохраненный, является исполняемым. Используя соответствующую команду для редактирования cron-задач вашего пользователя, добавьте строку, которая вызывает этот скрипт каждый час каждый день.
  2. Удалите созданную в пункте №3 cron-задачу в пользовательском файле crontab. Создайте новое задание, которое будет выполнять скрипт mycron.sh ровно в 14:55 каждый день. Отобразите файл crontab для пользователя «user» с новыми значениями.
  3. Удалите созданную в пункте №4 cron-задачу в пользовательском файле crontab. Создайте новое задание, которое выполнит скрипт mycron.sh ровно в 3:55 каждый день. Это новое задание также должно перенаправить стандартный вывод и поток ошибок в файл cron.log, расположенный в каталоге myscripts, созданном на шаге 1.
  1. Станьте пользователем root в своей системе. Используя соответствующую команду, отобразите результаты последнего запуска системы (используя утилиту которая читает из системного журнала и обновляется при загрузке системы).
  2. Найдите и просмотрите содержимое системного журнала. Соответствует ли содержимое системного журнала содержимому отображаемой информации на шаге №1?
  3. Отобразите журнал активности системы безопасности и покажите все действия по обеспечению безопасности, предпринятые пользователем root с момента входа в систему в течение этого сеанса.
  4. В терминале просмотрите и следите в реальном времени за файлом журнала безопасности из шага 3 выше. Откройте другую вкладку/терминал и, начиная с пользователя “user”, станьте пользователем “root”, а затем отобразите содержимое журнала, отображаемого на другой вкладке/терминале.
  1. В домашнем каталоге пользователя создайте текстовый файл с любым содержимым, с именем testfile.txt. Вы можете использовать любой метод для создания этого файла.
  2. Создайте копию недавно созданного файла testfile.txt в файле mytest.txt. Используя соответствующие права, переместите этот файл (mytest.txt) в каталог /etc.
  3. Убедитесь, что вы находитесь в домашнем каталоге пользователя. Выполните команду find, чтобы отобразить местоположение текстового файла testfile.txt, созданного на шаге 1. Выполните ту же команду, но укажите, что поиск должен начинаться с каталога /home и обратите внимание на результаты.
  4. В качестве пользователя user выполните команду find с соответствующими параметрами, чтобы отобразить местоположение файла с именем mytest.txt. Запустите поиск из корневого (то есть, /) каталога. Повторите эту команду как пользователь root или с привилегиями sudo и обратите внимание на результаты.
  5. Используя соответствующие права, скопируйте файл /etc/mytest.txt в файл /etc/myTesT.txt. Выполните команду find для этого имени, которая будет отображать результаты обоих файлов (т.е. игнорировать регистр в именах файлов).
  6. Как пользователь root или выполнив команду с привилегиями sudo, найдите все файлы в системе, которые заканчиваются на .txt, разбивайте результаты на страницы, чтобы вы могли прокручивать их.
  7. С помощью команды find измените права доступа к файлу /etc/myTesT.txt, чтобы он был универсальным для чтения/записи/выполнения. Это нужно сделать в одной строке, используя только параметры команды find.
  8. С помощью команды find, используя привилегии root или sudo, отобразите все исполняемые файлы в каталоге /usr.
  9. Запустите команду updatedb, чтобы обновить базу данных имен файловой системы, используя соответствующие привилегии root или sudo. Используйте команду locate, чтобы найти все три файла, созданные на шагах 1, 2 и 5.