В этой статье будут представлены задания, связанные с управлением пользовательскими правами доступа, созданием пользователей и групп в Linux. Также затронем тему администрирования Bash.
Начнем:
- Определите группу пользователей для вашего домашнего каталога.
ls -ld ~
- Определите владельца и группу файла /bin/ls.
ls -ld /bin/ls
- Проверьте информацию п.2, с помощью команды stat.
stat /bin/ls
- Запишите права доступа файла /bin/ls в восьмеричной нотации.
stat -c "%a" /bin/ls
- Определите, какие права установлены на ваш домашний каталог.
stat -c "%a" ~
- Создайте файл f0 с информацией о вашем домашнем каталоге.
stat ~ > ~/f0
- Определите права созданного файла.
stat -c "%a" f0
- Измените права созданного файла на 660.
chmod 660 f0
- Установите символьно права созданного файла, разрешающие его чтение всем пользователям.
chmod a+r f0
- Имеется файл script.sh с правами 750, владелец root, группа sys. Может ли пользователь user2, являющийся членом групп user2 и tty, что-либо изменить в тексте файла?
Может ли пользователь user2 запустить на исполнение этот файл?
Какие права должны быть добавлены на файл, чтобы user2 мог читать и исполнять этот файл? (укажите в символьной нотации).
Ответ: пользователь не может изменять и запускать на исполнение файл, так как у него нет прав (0 в конце стоит), r-x - На каталог d1 установлены права drwx—x—. Владелец каталога adm, группа sys.
Может ли пользователь user1, принадлежащий группе sys, переименовать файл f1 в этом каталоге?
Мог бы пользователь user1 узнать, какие права установлены на файл f1?
Ответ: нет, да. - На файл f1 установлены права 640, владелец adm, группа sys. Сможет ли user1 просмотреть содержимое файла?
Сможет ли он запустить на исполнение этот файл?
Если бы на этот каталог были бы установлены права 751, то смог бы пользователь user1 переименовать файл f1?
На что должны быть установлены права, чтобы user1 смог удалить файл f1 из каталога d1? Какие эти права?
Ответ: нет, нет, нет все равно не хватит прав, должно быть 7(rwx), права на чтение, запись и исполнение. - В вашем домашнем каталоге находится файл enigma с правами 600, владельцем root и группой root. Можете ли вы удалить этот файл?
Ответ: нет. - Находясь в сеансе обычного пользователя, попытайтесь изменить права владения на любой файл в вашем домашнем каталоге. Что происходит?
Ответ: если я владелец, то все успешно проходит, если же файл создан условным root, то операция не позволена. - Создайте цепочку каталогов d1/d2/d3, а в них — файлы d1/f1, d1/d2/f2, d1/d2/d3/f3.
mkdir -p d1/d2/d3 && touch d1/f1 && touch d1/d2/f2 && touch d1/d2/d3/f3
- Установите на файл d1/f1 права 400. Можете ли вы изменить этот файл?
chmod 400 d1/f1
(можем переименовать, но изменить содержимое не можем). - Рекурсивно добавьте права на чтение и запись для каталога d1. Можете вы теперь изменить файл f1?
chmod -R a+rw- d1/
(да теперь можем). - Отнимите у каталога d1 права на чтение и запись для всех пользователей кроме вас. Можно ли теперь получить информацию о файлах в этом каталоге?
chmod -R 700 d1/
(да можем, мы же владеем). - С помощью команды find при условии установки -exec измените права на каталоги и все подкаталоги d1 на 750.
find d1/ -exec chmod 750 "{}" \;
- Командами find, xargs и chmod установите права на все обычные файлы в каталоге d1 равными
-rw-r--r--
.
find d1/ -type f | xargs chmod -rw-r--r--
Управление пользователями
- Просмотрите файл /etc/shadow (с правами root). У всех ли пользователей содержимое второго поля выглядит одинаково?
cat /etc/shadow
(нет не у всех). - Какие символы могут содержаться в шифрованной строке пароля в /etc/shadow?
Ответ: все кроме русских букв, точек, слэшей и т.п. - Зарегистрируйте пользователя test1, для которого запрещен вход в сеанс, имеющего домашний каталог /home/nouser и являющегося членом групп user и mail.
Пользователь должен иметь UID равный 1000.
useradd -o -u1000 -d /home/nouser -s /sbin/nologin -G users,mail test1
- Создайте учетную запись для пользователя test2 с настройками по умолчанию.
useradd test2
- Измените имя пользователя test2 на test3.
usermod -l test3 -d /home/test3 -m test2
- Помимо файла /etc/default/useradd имеется еще один конфигурационный файл, влияющий на поведение команды useradd. Найдите его и изучите его содержание.
adduser --firstuid
(позволяет изменять минимальный UID) - Зарегистрируйте пользователя test4 с настройками по умолчанию и установите для него пароль. Изучите содержимое соответствующей записи в /etc/shadow.
useradd test4 && passwd test4
- Установите дату устаревания пароля для пользователя на 31 декабря текущего года. Проверьте, что изменилось в /etc/shadow.
hage test4 -E 2016-12-31
- Удалите пароль пользователя и проверьте изменения в /etc/shadow.
passwd test4 -d
- Заблокируйте учетную запись test4.
passwd test4 -l
- Создайте группу пользователей xusers с GID, равным 1010.
addgroup --gid 1010 xusers
- Зарегистрируйте себя в качестве участника группы xusers.
adduser nikiqq xusers
- Как изменить имена и GID групп? Измените имя группы на yusers.
groupmod xusers -n yusers
Получение отчетов об активности пользователей
- Определите, когда последний раз была загружена система.
last
- Когда вы входили в сеанс?
who /var/run/utmp
(тут можно посмотреть когда я входил в сеанс) - Посмотрите содержимое файла /var/log/wtmp. Какую команду ввести?
last /var/log/wtmp
- Получите подробную информацию о пользователях и статусе системы.
cat /etc/passwd && top
Права доступа и права владения
Если у вас остались вопросы по теме «Администрирование Bash», то задавайте их в комментариях.
Будьте первым, кто оставит комментарий