Linux -сборник рецептов


Решение


Воспользуйтесь схемой нумерации идентификаторов пользователей в Linux (UID) и возможностью сортировки по полям или столбцам в awk. Пример для системы на базе Debian или Slackware:

$ awk -F: '$3 > 999 { print $0}' /etc/passwd nobody:x:65534:65534:nobody:/nonexistent:/bin/sh carla:x:1000:1000::/home/carla:/bin/bash foober:x:1001:1001::/home/test:/bin/false bitchkat:x:1002:1002::/home/test2/:bin/bash сolby:x:1003:1003::/home/test3:/bin/bash

Отображение подмножества записей:

$ awk -F: '($3 >= 1000) && ($3 <= 1005) { print $0}' /etc/passwd

Для систем Red Hat и SuSE:

$ awk -F: '$3 > 499 { print $0}' /etc/passwd

Алфавитная сортировка результата:

$ awk -F: '$3 > 499 { print $0}' /etc/passwd | sort

Описанный прием особенно удобен тогда, когда схему нумерации UID в группах удается спроектировать заранее. Например:

  • Trainers 1000-1100;
  • Coaches 1101-1200;
  • Players 1200-2000.

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









Начало  Назад  Вперед


Книжный магазин