Я немного озадачен приведенным ниже результатом. Я вошел в систему как root и создал 2 новых пользователя. tecmint и tecmint2. Новый пользователь стал частью группы, которую я не могу найти в / etc / group. Как я могу узнать, почему это происходит, и исправить это. Пользователь добавлен с помощью команды ниже.
root@uklvadsb0047[DEV][~] # useradd -G ldap tecmint2
GID 55 - это ldap
но это отображается как dba
когда я перечисляю пользователей, использующих id
команда
root@uklvadsb0047[DEV][~] # cat /etc/group | grep 100
users:x:100:
tecmint:x:1000:
tecmint2:x:1001:
root@uklvadsb0047[DEV][~] # cat /etc/group | grep 55
ldap:x:55:tecmint,tecmint2
root@uklvadsb0047[DEV][~] # id -a tecmint2
uid=1001(tecmint2) gid=1001(jbase5) groups=1001(jbase5),55(dba)
root@uklvadsb0047[DEV][~] # id -a tecmint
uid=1000(tecmint) gid=1000(tibco) groups=1000(tibco),55(dba)
Любая подсказка об этом будет действительно полезна :)
Спасибо, Двиджа.
Добавлено еще несколько строк по поиску имени группы в файлах в / etc
root@uklvadsb0047[DEV][~] # grep -rnw '/etc' -e 'tecmint' /etc/group:63:ldap:x:55:tecmint,tecmint2 /etc/group:64:tecmint:x:1000: /etc/gshadow:63:ldap:!::tecmint,tecmint2 /etc/gshadow:64:tecmint:!:: /etc/passwd:38:tecmint:x:1000:1000::/home/tecmint:/bin/bash /etc/group-:63:ldap:x:55:tecmint /etc/group-:64:tecmint:x:1000: /etc/gshadow-:63:ldap:!::tecmint /etc/gshadow-:64:tecmint:!:: /etc/shadow:38:tecmint:$6$DsZ1ssCj$GjgFqqrliSo5u6jxwfY /etc/subgid:1:tecmint:100000:65536 /etc/passwd-:38:tecmint:x:1000:1000::/home/tecmint:/bin/bash /etc/subuid:1:tecmint:100000:65536 /etc/shadow-:38:tecmint:$6$DsZ1ssCj$GjgFqqrliSo5u6jxwfYiG /etc/subgid-:1:tecmint:100000:65536 /etc/subuid-:1:tecmint:100000:65536 root@uklvadsb0047[DEV][~] # grep -rnw '/etc' -e 'jbase5'
root@uklvadsb0047[DEV][~] # grep -rnw '/etc' -e 'dba' Binary file /etc/selinux/targeted/active/modules/100/mandb/hll matches Binary file /etc/udev/hwdb.bin matches
root@uklvadsb0047[DEV][~] # grep -rnw '/etc' -e 'tibco'
Нет результатов ни для каких файлов в /etc/
путем поиска над названием группы.
Причина в том, что в сетевых системах группы могут не только читать из файла / etc / group, но и получать их через LDAP или желтые страницы (список известных групп берется из файла локальной группы плюс группы, полученные через LDAP или YP в этих случаях ). Если вам нужны только имена групп, вы можете использовать:
группа getent | вырезать -d: -f1
Выше на этой странице объясняется, почему я не вижу имени группы на локальном сервере, но ей назначены идентификаторы.
https://stackoverflow.com/questions/14059916/is-there-a-command-to-list-all-unix-group-names
getent group
- Я использовал эту команду для составления списка доступных групп, и она показала группу, которую я искал. Этот тестовый сервер является частью сети LDAP, и имена групп были получены из LDAP. так что тайна раскрыта.
root@uklvadsb0047[DEV][~] # getent group | grep -e tibco -e jbase5 -e dba
asmdba:x:59:
dba:x:55:
jbase5:x:1001:
tibco:x:1000:
спасибо @Michael за ваши ответы. Затем нужно найти, как предотвратить использование имени группы из LDAP и использовать имя локальной группы.