Как получить список всех пользователей, которые могут получить доступ к серверу через ssh?

Как я могу получить список всех пользователей, которые могут передать ssh на сервер через ssh username@server.domain?

Обратите внимание, что я знаю об этом вопросе, и это не делает то, что я хочу!

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

Отредактировано: [ ! d4]

Обратите внимание, что результат, полученный из /etc/passwd, не является тем, что я хочу, и выглядит следующим образом:

root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/sh backup:x:34:34:backup:/var/backups:/bin/sh list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh libuuid:x:100:101::/var/lib/libuuid:/bin/sh Debian-exim:x:101:103::/var/spool/exim4:/bin/false statd:x:102:65534::/var/lib/nfs:/bin/false sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin shelladmin:x:1000:1000:shelladmin,,,:/home/shelladmin:/bin/bash messagebus:x:104:106::/var/run/dbus:/bin/false festival:x:105:29::/home/festival:/bin/false ntp:x:106:108::/home/ntp:/bin/false

Этот список даже не включает мое собственное имя пользователя! не говоря уже о других 1000 пользователях.

Отредактировано:

Итак, я немного побеседовал с Яроном и вот еще информация о системе:

-bash-4.2$ ls -lsa /etc/init.d/nis ls: cannot access /etc/init.d/nis: No such file or directory -bash-4.2$ ls -lsa /var/yp ls: cannot access /var/yp: No such file or directory if it helps, this is the putput of ls -lsa /var -bash-4.2$ ls -lsa /var total 48 4 drwxr-xr-x 12 root root 4096 Oct 25 2016 . 4 drwxr-xr-x 22 root root 4096 Oct 25 2016 .. 4 drwxr-xr-x 2 root root 4096 Oct 26 2016 backups 4 drwxr-xr-x 10 root root 4096 Oct 25 2016 cache 4 drwxr-xr-x 34 root root 4096 Oct 25 2016 lib 4 drwxrwsr-x 2 root staff 4096 May 7 2012 local 0 lrwxrwxrwx 1 root root 9 Oct 25 2016 lock -> /run/lock 4 drwxr-xr-x 9 root root 4096 Dec 10 06:25 log 4 drwxrwsr-x 2 root mail 4096 Jul 30 00:51 mail 4 drwxr-xr-x 2 root root 4096 Nov 21 2012 opt 0 lrwxrwxrwx 1 root root 4 Oct 25 2016 run -> /run 4 drwxr-xr-x 5 root root 4096 Oct 25 2016 spool 4 drwxrwxrwt 12 root root 4096 Dec 10 08:18 tmp 4 drwxr-xr-x 2 root root 4096 Feb 16 2013 www -bash-4.2$ getent passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/sh backup:x:34:34:backup:/var/backups:/bin/sh list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh libuuid:x:100:101::/var/lib/libuuid:/bin/sh Debian-exim:x:101:103::/var/spool/exim4:/bin/false statd:x:102:65534::/var/lib/nfs:/bin/false sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin shelladmin:x:1000:1000:shelladmin,,,:/home/shelladmin:/bin/bash messagebus:x:104:106::/var/run/dbus:/bin/false festival:x:105:29::/home/festival:/bin/false ntp:x:106:108::/home/ntp:/bin/false -bash-4.2$ cat /etc/nsswitch.conf # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: files ldap group: files ldap shadow: files ldap hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis -bash-4.2$ cd /etc/sssd/ -bash: cd: /etc/sssd/: No such file or directory
1
задан 10 December 2017 в 19:12

2 ответа

По умолчанию все пользователи определенного компьютера могут войти в эту машину с помощью ssh.

Вы можете настроить sshd, чтобы разрешить доступ только к части пользователей машины.

Страница пользователя Ubuntu ssh Укажите, что вы можете разрешить / запретить определенные пользователи / группы в sshd_config — OpenSSH SSH daemon configuration file - /etc/ssh/sshd_config

AllowUsers. К этому ключевому слову может следовать список шаблонов имен пользователей, разделенных пробелами. Если указано, вход разрешен только для имен пользователей, соответствующих одному из шаблонов. Действительны только имена пользователей; числовой идентификатор пользователя не распознается. По умолчанию вход для всех пользователей разрешен. Если шаблон принимает форму USER @ HOST, то USER и HOST проверяются отдельно, ограничивая логины для определенных пользователей с определенных хостов. Директивы allow / deny обрабатываются в следующем порядке: DenyUsers, AllowUsers, DenyGroups и, наконец, AllowGroups

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

cat /etc/passwd

Согласно обновленному вопросу, /etc/passwd не содержит нескольких имен пользователей. Это может быть результатом того, что сервер является частью Ubuntu ssh man page , LDAP или SAMBA.

Чтобы просмотреть всех пользователей и amp; группы, известные вашему серверу, из любых источников, которые они приходят, вы предпочитаете использовать команду getent:

getent passwd

Резюме обсуждения:

It похоже, что у вас есть LDAP на сервере, и было определено, что отключить доступ к списку пользователей LDAP. В противном случае getent passwd покажет вам файл passwd

1
ответ дан 18 July 2018 в 01:28

По умолчанию все пользователи определенного компьютера могут войти в эту машину с помощью ssh.

Вы можете настроить sshd, чтобы разрешить доступ только к части пользователей машины.

Страница пользователя Ubuntu ssh Укажите, что вы можете разрешить / запретить определенные пользователи / группы в sshd_config — OpenSSH SSH daemon configuration file - /etc/ssh/sshd_config

AllowUsers. К этому ключевому слову может следовать список шаблонов имен пользователей, разделенных пробелами. Если указано, вход разрешен только для имен пользователей, соответствующих одному из шаблонов. Действительны только имена пользователей; числовой идентификатор пользователя не распознается. По умолчанию вход для всех пользователей разрешен. Если шаблон принимает форму USER @ HOST, то USER и HOST проверяются отдельно, ограничивая логины для определенных пользователей с определенных хостов. Директивы allow / deny обрабатываются в следующем порядке: DenyUsers, AllowUsers, DenyGroups и, наконец, AllowGroups

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

cat /etc/passwd

Согласно обновленному вопросу, /etc/passwd не содержит нескольких имен пользователей. Это может быть результатом того, что сервер является частью Ubuntu ssh man page , LDAP или SAMBA.

Чтобы просмотреть всех пользователей и amp; группы, известные вашему серверу, из любых источников, которые они приходят, вы предпочитаете использовать команду getent:

getent passwd

Резюме обсуждения:

It похоже, что у вас есть LDAP на сервере, и было определено, что отключить доступ к списку пользователей LDAP. В противном случае getent passwd покажет вам файл passwd

1
ответ дан 24 July 2018 в 17:24
  • 1
    Я хочу получить список всех пользователей, которые могут ssh на сервере! Я не могу найти способ сделать это в вашем ответе! – yukashima huksay 10 December 2017 в 14:47
  • 2
    @aran - как я писал в своем ответе . По умолчанию вход разрешен для всех пользователей. , то есть каждый пользователь, имеющий учетную запись на сервере, может войти с помощью ssh на сервер. – Yaron 10 December 2017 в 15:49
  • 3
    @aran - вы можете ограничить количество пользователей, используя параметры конфигурации sshd_config: DenyUsers, AllowUsers, DenyGroups и AllowGroups - запретить доступ для определенных пользователей и / или разрешить доступ только к определенным пользователи – Yaron 10 December 2017 в 15:50
  • 4
    @aran - полный список пользователей, которые могут войти на сервер (не только ssh-login), можно найти в /etc/passwd – Yaron 10 December 2017 в 15:52
  • 5
    @Aran - см. Мой обновленный ответ, касающийся ypcat passwd – Yaron 10 December 2017 в 18:28

Другие вопросы по тегам:

Похожие вопросы: