Управление пользователями и правами Linux, вы будете использовать его после прочтения

задняя часть Linux Командная строка Безопасность

предисловие

Только лысина может стать сильнее

Оглядываясь назад на фронт:

Я не ожидал, что последняя статья наберет тысячи лайков на Zhihu, Линукс вот-вот сдаст выпускной экзамен, а я уже полмесяца не писал статей. Эта статья в основном посвящена Linuxпользователи и разрешенияРеорганизуйте очки знаний.

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

1. Пользователи под Linux

линукс этомногопользовательская система, мы можем войти в Linux с несколькими пользователями одновременно ~

  • Счетвеществовыше этоЛичность пользователя в системе.

Учетные записи в Linux включают

  • Учетная запись пользователя
    • обычная учетная запись пользователя: задача в системе - выполнять обычную работу
    • учетная запись суперпользователя(или учетная запись администратора): Задача системы — управлять обычными пользователями и всей системой.
  • групповой аккаунт(группа — это совокупность пользователей)
    • Стандартная группа: Стандартная группа может содержать несколько пользователей.
    • Частная группа: только пользователь в частной группе

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

  • основная группа(Исходная группа): группа, с которой пользователь входит в систему.
  • Дополнительная группа: Другие группы, которые можно переключать после входа в систему.

Как упоминалось выше, учетная запись по сути является идентификацией пользователя в системе.сохранить файлвверх:

  • Имя пользователя и UID хранятся в/etc/passwdфайл, права доступа к файлу(-rw-r--r--)
  • Группы и GID хранятся в/etc/groupфайл, права доступа к файлу(-r--------)
  • Пароли пользователей (пароли) хранятся в/etc/shadowфайл, права доступа к файлу(-rw-r--r-- )
  • Групповые пароли хранятся в/etc/gshadowфайл, права доступа к файлу(-r--------)

Это:Пользователь, которого мы создали, информация этого пользователя сохраняется в разных файлах.

С учетом приведенных выше знаний позвольте мне кратко описать, что происходит при создании пользователя:

  • Имя пользователя и UID хранятся в/etc/passwdВ этом файле пароль пользователя обычноshadow passwordsЗащищать
  • Когда пользователи входят в систему, ониназначается домашний каталог и работающая программа(обычно оболочка)
  • Если группа, к которой он принадлежит, не указана, RHEL/CentOS создаетЧастная группа с тем же именем, что и у пользователя, и пользователь назначен в эту закрытую группу

Давайте еще раз повторим: учетная запись — это, по сути, идентификация пользователя в системе.сохранить файлвверх. То есть: мы можемНепосредственно редактируйте и изменяйте файл системной учетной записи, чтобы поддерживать учетную запись.

  • ноне рекомендуется, если вы явно хотите сделать это, лучше всего использовать команду, чтобы проверить, есть ли проблема с вашим отредактированным синтаксисом:
    • pwck: проверьте файл учетной записи пользователя и целостность информации для аутентификации. Эта команда обнаруживает файлы“/etc/passwd”и“/etc/shadow”Правилен ли формат и значение полей в каждой строке?
    • grpck: проверьте файл групповой учетной записи и целостность данных аутентификации. Эта команда обнаруживает файлы“/etc/group”и“/etc/gshadow”Формат и значение полей в каждой строке .

Поскольку не рекомендуется напрямую редактировать файлы для управления пользователями, Linux, безусловно,Есть готовые командыДля нас использовать:

1.1 Команды для управления пользователями Linux

Управление пользователями:

  • useradd
  • usermod
  • userdel

управление группой:

  • groupadd
  • groupmod
  • groupdel

Массовое управление пользователями:

  • Чтобы добавить/обновить группу аккаунтов в пакетном режиме:newusers
  • Для пакетного обновления паролей пользователей:chpasswd

управление участниками группы:

  • Добавляйте пользователей в стандартные группы
    • gpasswd -a <用户账号名> <组账号名>
    • usermod -G <组账号名> <用户账号名>
  • Удалить пользователя из стандартной группы
    • gpasswd -d <用户账号名> <组账号名>

обслуживание пароля(Отключение, восстановление и удаление паролей пользователей):

  • установить пароль пользователя:
    • passwd [<用户账号名>]
  • Отключить пароль учетной записи пользователя
    • passwd -l <用户账号名>
  • Просмотр статуса пароля учетной записи пользователя
    • passwd -S <用户账号名>
  • Восстановить пароль учетной записи пользователя
    • passwd -u <用户账号名>
  • Очистить пароль учетной записи пользователя
    • passwd -d <用户账号名>

Настройки срока действия пароля:

  • Исправлять/etc/login.defsсвязанные параметры конфигурации

настраиватьСрок действия пароля для существующих пользователей:

  • chageЗаказ

Команда переключения пользователя:

  • su
    • Переключитесь напрямую на суперпользователя
  • sudo
    • Выполнять команды системного администрирования напрямую, используя префикс команды sudo. Не нужно знать пароль суперпользователя при выполнении команд управления системой, достаточно использовать пароль обычного пользователя

Дополнительный запрос информации:

Команды, связанные с пользователем:

  • id: отображает текущий uid, gid пользователя и список групп, к которым принадлежит пользователь
  • groups: отображает список групп, к которым принадлежит указанный пользователь.
  • whoami: отображает имя текущего пользователя
  • w/who: Отображение вошедшего в систему пользователя и сопутствующей информации
  • newgrp: используется для преобразования текущей группы пользователя в указанную учетную запись группы, пользователь должен принадлежать к этой группе, чтобы правильно выполнить команду

1.2 Практические вопросы для пользователей Linux

Используйте команду cat для наблюдения за следующими файлами: /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow; отображать значения по умолчанию пользовательских параметров, добавленных командой useradd

Создайте учетную запись linux jkXX (XX — две последние цифры номера студента), потребуйте, чтобы группа пользователей была пользователями, и установите пароль; наблюдайте за изменениями в файлах /etc/passwd и /etc/shadow; выйдите из учетная запись root, войдите в систему с учетной записью jkXX и войдите в систему с учетной записью jkXX Создайте файл myfirst в основном каталоге и перечислите файл myfirst в длинном формате

Войдите в систему с учетной записью root; добавьте группу jsj; установите пользователя jkXX как пользователя группы jsj, наблюдайте за изменениями в файлах /etc/passwd, /etc/group и /etc/gshadow.

Добавьте нового пользователя airXX (XX — две последние цифры номера студента), обратите внимание на идентификатор пользователя и идентификатор группы нового пользователя airXX; затем удалите пользователя, будьте осторожны, чтобы не добавлять опции в команду, наблюдайте за изменениями в пользовательские файлы и групповые файлы, наблюдайте, существует ли каталог пользователя airXX;

Пароли в теневом файле: * и ! ! представляет что?

отвечать:*От имени аккаунта отключен;!!Представляет блокировку паролем.

Что такое идентификатор группы пользователей airXX? К какому типу относится эта группа? Какая польза от этого?

О: Идентификатор группы пользователей air08 — 501, он принадлежит частной группе. Каждый пользователь, который не укажет группу, создаст группу с тем же именем.Такая группа называется закрытой группой.Пользователь только один, что выгодно для предотвращения утечки информации и предотвращения необоснованной авторизации. Короче говоря, это способствует управлению безопасностью.

В чем преимущество удаления пользователя по умолчанию, но сохранения домашнего каталога пользователя?

A: Сохраните каталог пользователя, чтобы предотвратить случайное удаление ценных данных в каталоге пользователя.

Используйте команду cat для просмотра файла /etc/passwd; следуя формату файла passwd, отредактируйте новый файл с помощью vi, имя файла — userXX (XX — две последние цифры номера учащегося), файл включает 3 записи и имена пользователей: jkXX (XX — две последние цифры номера студента), peter, jason, их идентификатор пользователя больше 1000, а идентификатор группы больше 1000, питер и джейсон должны быть в ту же группу; используйте команду newusers для создания групп пользователей в соответствии с содержимым файла userXX; обратите внимание на /etc Изменения в файле /passwd.

Используйте команду cat для наблюдения за файлом /etc/shadow; используйте vi для редактирования нового файла, имя файла — mimaXX (XX — две последние цифры номера студента), файл содержит 3 записи и имя пользователя каждая запись аналогична предыдущему шагу. , пароль задается самостоятельно, имя пользователя и пароль разделяются двоеточием:; используйте команду chpasswd для генерации паролей пакетами в соответствии с содержимым файла mimaXX; наблюдайте за изменениями в файл /etc/shadow, используйте команду chpasswd -m, чтобы снова сгенерировать пароли в пакетах, и наблюдайте за файлом /etc/shadow Variety;

Выйдите из учетной записи root и войдите в систему с учетной записью jkXX. Выйдите из учетной записи jkXX, вернитесь к учетной записи root и просмотрите файл /etc/shadow; используйте команду passwd, чтобы заблокировать пользователя jkXX и просмотрите изменения в файле /etc/shadow; затем выйдите из учетной записи root и войдите в систему с учетной записью jkXX, это успешно?

Используйте команду chage для просмотра настройки времени учетной записи peter; для сброса времени учетной записи peter требуется, чтобы пароль не мог быть изменен в течение двух дней, а максимальное время жизни пароля составляло 90 дней, и пользователь был уведомлен 5 дней до истечения срока действия пароля, а срок действия пароля истекает за 7 дней Неверный пароль, используйте команду chage для повторного просмотра настроек времени учетной записи peter

Войдите в систему с учетной записью root; переключитесь на учетную запись jason с помощью su; войдите в домашний каталог пользователя с помощью cd; создайте новый файл abc и перечислите файлы abc в длинном формате; просмотрите атрибуты пользователя и группы файла

Что случилось с теневым файлом после блокировки учетной записи?

A: Знак блокировки будет заблокирован перед паролем заблокированной учетной записи! !

После переключения пользователей с помощью su, какому пользователю принадлежит новый созданный файл?

A: Новый файл принадлежит пользователю после переключения.

Выполните команду chpasswd дважды, результат тот же? Какой алгоритм шифрования более надежен, md5 или sha512?

О: Результаты выполнения команды chpasswd дважды отличаются: по умолчанию используется алгоритм шифрования sha512, при использовании опции -m используется алгоритм шифрования md5;

Создайте три общих учетных записи пользователей, требования следующие: имена пользователей jkXX (XX — две последние цифры номера студента), peter, jason, где jkXX и jason — члены одной общей группы; наблюдайте за изменениями в файл /etc/passwd. Добавить корневую группу для учетной записи jkXX;

Используйте команды id, groups, whoami, who соответственно для отображения информации о текущей учетной записи; используйте команду su для переключения на учетную запись jkXX и используйте команды id, groups, whoami и who соответственно для отображения информации о текущей учетной записи. текущий аккаунт. Используйте newgrp, чтобы переключить группу учетной записи jkXX, отработать идентификатор, группы, whoami, команду who соответственно и отобразить информацию о текущей учетной записи.

2. Управление полномочиями

Linux — это многопользовательская операционная система, которая позволяет нескольким пользователям входить в систему и работать в системе одновременно. заудостоверитьсясистема и пользовательБезопасность, Linux естественно имеет свой собственный набор механизмов управления правами!

Я считаю, что студенты, которые использовали Linux, часто используют его при извлечении файлов папок.ls -lкоманда, выйдет большой ряд данных. Вы можете прочитать эти данные?

Например:


	drwxr-xr-x   3  osmond   osmond    4096  05-16 13:32   nobp

на самом деле очень просто:

На самом деле, мы смотрим на власть, чтобы увидетьdrwxr-xr-xТакой ряд вещей может показаться сложным, но нет, его можно понять с первого взгляда. Давайте разберем это:

эти 9 символовгруппы по 3 человека, состоящий из 3 наборов контроля разрешений

  • Первый набор управляющих файловвладелецправа доступа
  • Второй набор владельцев контролягруппа пользователейдоступ к другим участникам
  • третий набор элементов управленияДругие пользователи системыправа доступа

rwxсоответственно означает:

Смотрите здесь, если вы понимаете предыдущее, тоdrwxr-xr-xЯ думаю, вы можете легко понять такой ряд вещей:

  • d — это папка, за которой следуют 9 букв, разделенных на группы по 3,-Нет значит нет. Тогда разрешения для этой папки:
    • Он доступен для чтения, записи и выполнения для текущего пользователя, для чтения и выполнения для пользователей в той же группе, а также для чтения и выполнения для других пользователей.

Разве это не просто? ?r-read,w-write,x-execute, хорошо понимал.

Для удобства эти команды rwx также могут быть представлены восьмеричными данными.Я думаю, что после прочтения следующей демонстрации вы поймете, что это так:

приоритет разрешений:

  • Если идентификаторы совпадают, примените разрешения пользователя.
  • В противном случае, если GID совпадают, примените групповые разрешения.
  • Если ни одно из них не совпадает, примените другие разрешения.
  • суперпользователь root имеет все права, без особых указаний

2.1 Общие команды для управления разрешениями Linux

  • chmod
    • Изменить права доступа к файлу или каталогу
  • chown
    • Изменить владельца (владельца) файла или каталога
  • chgrp
    • Изменить группу, к которой принадлежит файл или каталог
  • umask
    • Устанавливает маску сборки по умолчанию для файла

пример:

2.2 Информация о расширении разрешений

Атрибут umask упоминался выше и используется для таких вещей, как: Маска сборки по умолчанию сообщает системе при создании файла или каталога.Какие разрешения ему нельзя давать.

  • Значение umask по умолчанию — 022, мы должны понять это, посмотрев на следующий пример:

В дополнение к упомянутым выше разрешениям Linux также предоставляетТри специальных разрешения:

  • SUID: с помощью командыРазрешения пользователя-владельца на запуск, а не разрешения исполнителя команды
  • SGID: с помощью командыгрупповые разрешения на запуск.
  • Sticky-bit: файлы в каталогеМожет быть удален только пользователем-владельцем и пользователем root файла.

Они представлены так:

  • SUID и SGID представлены буквой s, Sticky-бит представлен буквой t.
  • SUID представлен занимающим x позицию владельца
  • SGID - это позиция x занятой группы для представления
  • sticky-bit должен занимать x-позицию других людей, чтобы указать

Например:drwxrwxrwt 5 root root 4096 06-18 01:01 /tmpОн имеет разрешение sticky-bit.-rwsr-xr-x 1 root root 23420 2010-08-11 /usr/bin/passwdу него есть разрешение SUID

SUID, SGID, sticky-bit также имеют числовое представление:

Пример использования:


В ядре Linux есть ряд функций безопасности. EXT2/3/4Расширенные атрибуты файловой системы(Расширенные атрибуты) могут в некоторой степени защитить безопасность системы.

Общие расширенные атрибуты:

  • A (Atime): скажите системе не изменять время последнего доступа к этому файлу.
    • Использование атрибута A может повысить производительность.
  • S (синхронизация): как только приложение выполняет операцию записи в этот файл, система немедленно записывает измененный результат на диск.
    • Использование атрибута S может максимизировать целостность файла..
  • a (Только добавление): система разрешает добавлять данные только после этого файла и не позволяет никакому процессу перезаписывать или усекать этот файл. Если каталог имеет этот атрибут, система позволит создавать и изменять файлы только в этом каталоге, но не будет удалять их.
  • i (неизменяемый): система не разрешает изменять этот файл. Если каталог имеет этот атрибут, любой процесс может только изменять файлы в каталоге, и ему не разрешено создавать и удалять файлы.
    • Атрибут a и атрибут i имеют большие преимущества для повышения безопасности файловой системы и обеспечения целостности файловой системы..

Общие команды:

  • Показать расширенные свойства:lsattr [-adR] [文件|目录]
  • Изменить расширенные атрибуты:chattr [-R] [[-+=][属性]] <文件|目录>

2.3 Упражнения по управлению правами

Войдите в систему с учетной записью root, создайте файл aaaXX (XX — две последние цифры номера студента) и проверьте права доступа к файлу в длинном формате; используйте команду chmod, метод настройки текста, добавьте атрибут записи в файл aaaXX в той же группе и наблюдайте за результатами, используйте команду chmod, метод цифровой настройки, установите разрешение 766 для файла aaaXX, наблюдайте за результатом;

Переключитесь на учетную запись peter, проверьте текущий umask и посмотрите результаты; создайте каталог foldXX (XX — две последние цифры номера студента), проверьте его разрешения; создайте новый файл bbb, проверьте его разрешения; измените unmask на 066, создайте новый файл ccc, проверьте его разрешения

Переключитесь на учетную запись jkXX, создайте файл myfile и просмотрите его атрибуты, используйте chgrp, чтобы изменить групповой атрибут файла myfile на root, попробуйте изменить основной атрибут файла myfile на root, хорошо? Переключитесь на учетную запись root, измените основной атрибут файла myfile на root и наблюдайте за результатами.

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

Ответ: 766 означает, что разрешение файлаrwx-rw-rw-

Почему не удается изменить владельца файла myfile с учетной записью jkXX?

A: Потому что chown может использоваться только учетной записью root.

Одинаково ли Umask 022 и 066 влияет на свойства вновь создаваемых файлов? Зачем?

A:Конечно, влияние разное.umask определяет разрешения, которые не должны быть получены по умолчанию.После того, как 066 преобразовано в двоичное число из 022, есть еще два бита ограничения.

Войдите в систему под учетной записью root, скопируйте файл /usr/bin/dir в домашний каталог пользователя, список в длинном формате, установите для suid и sguid файла значение 1 и список в длинном формате; переключите учетную запись на jkXX, запустите каталог скопированного файла (обратите внимание, что файл с текущим путем должен запускаться с указанием пути, например ./dir);

Переключитесь на учетную запись jkXX, войдите в каталог /tmp, создайте папку myfold, установите разрешение папки myfold на 777, а sgid и sticky-bit на 1, список в длинном формате, просмотрите свойства myfold; войдите в myfold, создайте папку новый файл aaa , установите свойство, доступное для чтения и записи всем, и перечислите его в длинном формате; переключитесь на учетную запись jason, войдите в каталог /tmp/myfold, удалите файл aaa, возможно ли его удалить?

root, войдите в домашний каталог пользователя, создайте файл bbb, просмотрите расширенные атрибуты файла, добавьте расширенный атрибут i к файлу bbb, а затем попробуйте удалить файл, успешно ли это, как его удалить ; создать файл ccc, присвоить файлу ccc Добавить расширенный атрибут a, перечислить каталог /bin в длинном формате и перенаправить вывод в файл ccc, наблюдать за изменением длины файла ccc, перечислить каталог /etc в длинный формат и перенаправить вывод в файл ccc, если он успешен

Переключитесь на учетную запись jkXX, создайте каталог myshare в каталоге /tmp и используйте getfacl для просмотра списка контроля доступа к файлам в каталоге myshare; установите для папки myshare значение rwx для пользователя jason и просмотрите изменения в доступе к файлам. контрольный список; переключитесь на учетную запись jason и введите Файл myshare создает файл yyy, успешно ли это; переключитесь на учетную запись peter, введите файл myshare, чтобы создать файл zzz, успешно ли это и почему?

Почему в каталоге myfold учетная запись jason не может удалить файл, доступный для чтения и записи для всех?

A: Поскольку папка myfold, в которой находится файл, установила бит stickybit ее владельцем jk08, все файлы в папке могут быть удалены только владельцем файла и пользователем root.

Почему учетная запись peter не может создавать файлы в папке myshare?

A: Поскольку папка myshare принадлежит пользователю jk08, только у jk08 есть разрешение rwx для этого каталога. Кроме того, метод facl используется для открытия права доступа rwx к каталогу пользователю jason; peter не является владельцем папки, и разрешение rwx не открыто в facl; согласно настройкам разрешений, peter имеет только rx разрешение папки . Таким образом, файл не может быть создан.

После добавления расширенного атрибута a может произойти сбой перенаправления вывода в файл ccc.Как сделать вывод успешным?

Ответ: Следует использовать перенаправление в режиме добавления >>, а содержимое можно добавлять в конец файла, чтобы соответствовать правилам безопасности атрибута расширения файла a.

3. Резюме

Эта статья в основном суммирует знания об операционных пользователях и разрешениях в Linux~~~ Эти два пункта знаний также очень важны в Linux и являются основой для изучения Linux~

Продолжайте улучшать последнюю интеллект-карту:

Если в статье есть какие-либо ошибки, пожалуйста, поправьте меня, и мы сможем общаться друг с другом. Учащиеся, которые привыкли читать технические статьи в WeChat и хотят получить больше ресурсов по Java, могут подписаться на общедоступную учетную запись WeChat: Java3y.

Оглавление Навигация по статьям: