скрипт для разграничения учетных записей служб и учетных записей пользователей в linux - PullRequest
0 голосов
/ 22 мая 2018

Мне нужно написать небольшой скрипт Linux, чтобы различать учетную запись service и учетную запись normal user, помимо печати других данных о пользователях.

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

Это то, что я делаю до сих пор с простой проверкой в ​​моем сценарии:

awk -F":" '{OFS=":";print $2,$6,$NF}' /etc/passwd | sort | uniq > passwd_processed
reg=".*/[nologin|false]"
while IFS=":" read -r user dir lshell;do
  if [[ "$lshell" =~ $reg ]]; then
     utype="Service"
  else
     utype="User"
  fi
  ....
 ...
 done < passwd_processed
 ...

В общем, проверка входа в оболочку.Если он содержит nologin или false (учитывая, что учетные записи служб не имеют фактических оболочек для входа в систему и, следовательно, это либо /[usr]/bin/false, либо /[usr]/bin/nologin), в поле оболочки объявите их как Service учетные записи, иначеUser account.

Достаточно ли этого чека?Или есть еще какой-то определенный способ узнать и использовать в сценарии для различения учетных записей Service и User в Linux?

1 Ответ

0 голосов
/ 24 мая 2018

Как упомянул @chepner, некоторые резервные диапазоны ОС для системных или обычных пользователей / групп.

Если вы работаете в дистрибутиве на основе Debian, возможно, вы захотите взглянуть на /etc/adduser.conf:

# FIRST_SYSTEM_[GU]ID to LAST_SYSTEM_[GU]ID inclusive is the range for UIDs
# for dynamically allocated administrative and system accounts/groups.
# Please note that system software, such as the users allocated by thebase-passwd
# package, may assume that UIDs less than 100 are unallocated.
FIRST_SYSTEM_UID=100
LAST_SYSTEM_UID=999

FIRST_SYSTEM_GID=100
LAST_SYSTEM_GID=999

# FIRST_[GU]ID to LAST_[GU]ID inclusive is the range of UIDs of dynamically
# allocated user accounts/groups.
FIRST_UID=1000
LAST_UID=59999

FIRST_GID=1000
LAST_GID=59999
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...