The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как узнать, сколько пользователей создано в системе"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Как узнать, сколько пользователей создано в системе"  +1 +/
Сообщение от Антон email(??) on 08-Сен-09, 12:14 
Как узнать, сколько пользователей создано в системе

+

Как правильно создать пользователя, с ограниченными правами.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как узнать, сколько пользователей создано в системе"  –2 +/
Сообщение от Pahanivo email(ok) on 08-Сен-09, 12:15 
>Как узнать, сколько пользователей создано в системе
>
>+
>
>Как правильно создать пользователя, с ограниченными правами.

убей себя аб стену

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от Антон email(??) on 08-Сен-09, 16:42 
>>Как узнать, сколько пользователей создано в системе
>>
>>+
>>
>>Как правильно создать пользователя, с ограниченными правами.
>
>убей себя аб стену

и тебе такого же

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от boykov email(ok) on 08-Сен-09, 23:57 
>>Как узнать, сколько пользователей создано в системе
>>
>>+
>>
>>Как правильно создать пользователя, с ограниченными правами.
>
>убей себя аб стену

блин, долбоящеры добрались и сюда.
автору -- читаем handbook и помним, что вопросы, освещенные в рускоязычных доках, задают только лохи. самоактуализируемся.

на всякий случай
cat /etc/passwd | awk -F: '{print $1 }' | wc -l
(разбираемся, что понаписано)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от sHaggY_caT (ok) on 09-Сен-09, 00:48 

>на всякий случай
>cat /etc/passwd | awk -F: '{print $1 }' | wc -l
>(разбираемся, что понаписано)

У новенького от awk несварение будет ему лучше сперва осилить cut :) Да и от пайпов тоже.

А вообще, тут можно просто wc -l /etc/passwd (при этом посчитаются и системные), грепать по колонкам было не нужно.

Новенькому нужно, наверное, было это:

ls -l /home | wc -l

Если же нужен именно результат, и достоверный...


cat /etc/passwd | awk -F\: '{if ($3 > 1000) print $1}'  

Выведет список не системных юзеров


(можно так же посчитать через | wc -l, если не делать выборку по пользователям с uid>1000 то посчитаются системные)

Топикстартеру. Действительно, научитесь искать ответы на вопросы самостоятельно, Вы сами себе будете благодарны (так как не нужно будет ждать часами ответа на форуме, который может оказаться таким, как Вам ответили в первый раз)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от boykov email(ok) on 09-Сен-09, 01:02 
>Топикстартеру. Действительно, научитесь искать ответы на вопросы самостоятельно, Вы сами себе будете
>благодарны (так как не нужно будет ждать часами ответа на форуме,
>который может оказаться таким, как Вам ответили в первый раз)

а в том, что понаписали мы с дядькой -- тоже постарайтесь разобраться, ибо awk наряду с grep и sed -- лучшие друзья админов. Особенно тех, кто, как я, отказывается учить перл (что поделать, урожденный на_С_льник, хоть и приплюснутый :).
есть в 99 процентах систем, стандартизированы, не меняются и не требуют доп. модулей. Плюс вводят в понятие "админ" тем, что таки заставляют прочитать man

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от sHaggY_caT (ok) on 09-Сен-09, 01:15 
>а в том, что понаписали мы с дядькой -- тоже постарайтесь разобраться,

Сути не меняет (то есть, я согласна с boykov'ым), просто уточняю: я не дядька, я тетька :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от boykov email(ok) on 09-Сен-09, 02:33 
прошу прощения, sHaggY_caT, давно не был туточки, еще не разобрался в чужих половых принадлежностях (или отнесениях? ну вы поняли).

А вот топикстартера мы совместно загрузили. Мальчики-девочки, давайте давить знаниями не молодых, его (?) и так вторым постом пришибить пытались, да и мы нагрузили.

А еще интересней -- по результатам выдавать в хинты сайта, тоже полезно.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от Slavaz (ok) on 09-Сен-09, 01:20 
>>Топикстартеру. Действительно, научитесь искать ответы на вопросы самостоятельно, Вы сами себе будете
>>благодарны (так как не нужно будет ждать часами ответа на форуме,
>>который может оказаться таким, как Вам ответили в первый раз)
>а в том, что понаписали мы с дядькой -- тоже постарайтесь разобраться,
>ибо awk наряду с grep и sed -- лучшие друзья админов.

Кстати, да. добавил бы bash(!), cut, head, tail

Топикстартеру - может, поможет в освоении такая точка зрения: информация на файловой системе - это иерархическая база данных. Перечисленные утилиты - это функции для доступа к данным... ну или для определённых выборок. Зная совсем небольшой набор утилит(функций) можно выбирать практически любые данные (с перечисленным набором только текстовые). Но потом, по мере освоения, можно будет работать со звуком(sox), графикой (ImageMagick), видео (mencoder) и т.д. Такая точка зрения и есть Unix way :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от boykov email(ok) on 09-Сен-09, 02:39 
>можно будет работать со
>звуком(sox), графикой (ImageMagick), видео (mencoder) и т.д. Такая точка зрения и
>есть Unix way :)

к стыду своему этих словей не нашел в своем лексиконе.
да и arw (sony format) понимается пока только виндой :(

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от zerot email(ok) on 09-Сен-09, 16:44 
ну, perl это совсем несложно. Я вот тоже когда то был урожденный этот самый про Си, потом открыл для себя Perl, и только через 10 лет, да и то по нужде, стал использовать и AWK :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от Slavaz (ok) on 09-Сен-09, 01:13 
>Если же нужен именно результат, и достоверный...

- cat /etc/passwd | awk -F\: '{if ($3 > 1000) print $1}'  

+ awk -F':' \
+    -v UID_MIN=$(grep '^UID_MIN' /etc/login.defs | awk '{print $2}') \
+    -v UID_MAX=$(grep '^UID_MAX' /etc/login.defs | awk '{print $2}') \
+ \
+ '{if ($3 >= UID_MIN && $3 <= UID_MAX) print $1;}' /etc/passwd

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от sHaggY_caT (ok) on 09-Сен-09, 01:16 
>[оверквотинг удален]
>
>- cat /etc/passwd | awk -F\: '{if ($3 > 1000) print $1}'  
>
>+ awk -F':' \
>+    -v UID_MIN=$(grep '^UID_MIN' /etc/login.defs | awk '{print $2}')
>\
>+    -v UID_MAX=$(grep '^UID_MAX' /etc/login.defs | awk '{print $2}')
>\
>+ \
>+ '{if ($3 >= UID_MIN && $3 <= UID_MAX) print $1;}' /etc/passwd

Красиво :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от PavelR (??) on 09-Сен-09, 10:36 
>[оверквотинг удален]
>>
>>+ awk -F':' \
>>+    -v UID_MIN=$(grep '^UID_MIN' /etc/login.defs | awk '{print $2}')
>>\
>>+    -v UID_MAX=$(grep '^UID_MAX' /etc/login.defs | awk '{print $2}')
>>\
>>+ \
>>+ '{if ($3 >= UID_MIN && $3 <= UID_MAX) print $1;}' /etc/passwd
>
>Красиво :)

Это если нет дополнительных хранилищ пользователей, типа LDAP например :-)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от Slavaz (ok) on 09-Сен-09, 11:47 
>Это если нет дополнительных хранилищ пользователей, типа LDAP например :-)

Да, верно. Задумался немного...


#!/bin/sh

get_etc_passwd_users()
{
     awk -F':' \
        -v UID_MIN=$(grep '^UID_MIN' /etc/login.defs | awk '{print $2}') \
        -v UID_MAX=$(grep '^UID_MAX' /etc/login.defs | awk '{print $2}') \
     \
     '{if ($3 >= UID_MIN && $3 <= UID_MAX) print $1;}' /etc/passwd
}

get_ldap_users()
{
    ldap_conf=/etc/ldap.conf
    [ ! -f $ldap_conf ] && ldap_conf=/etc/openldap/ldap.conf
    [ ! -f $ldap_conf ] && exit 1

    nss_base_passwd=$(grep '^nss_base_passwd' $ldap_conf| awk '{split ($2,arr,"\\?"); print arr[1];}')

    rootbinddn=$(grep '^rootbinddn' $ldap_conf| awk '{print $2}')
    [ -n "$rootbinddn" ] && {
        rootbinddn="-D "${rootbinddn}

        ldap_secret=/etc/ldap.secret
        [ ! -f ${ldap_secret} ] && ldap_secret=/etc/openldap/ldap.secret

        [ -r ${ldap_secret} ] && {
            bindpw="-w "$(cat ${ldap_secret})
        } || {
            rootbinddn=
            bindpw=
        }

    } || {

        rootbinddn=$(grep '^binddn' $ldap_conf| awk '{print $2}')
        bindpw=$(grep '^bindpw' $ldap_conf| awk '{print $2}')

    }

    ldapsearch ${rootbinddn} ${bindpw} -s one -x -b "$nss_base_passwd" "uid"|grep '^uid'| awk '{print $2;}'
}


[ -z "$(grep '^passwd.*ldap' /etc/nsswitch.conf)" ] && {

    get_etc_passwd_users | sort

} || {
    echo $(get_etc_passwd_users) $(get_ldap_users) | sort | uniq
}


Спасибо за задачку :)
Не уверен, что сработает везде и всегда, но в большинстве случаев, надеюсь, будет полезным  скриптом.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от Slavaz (ok) on 09-Сен-09, 12:02 
>    } || {
>

-   rootbinddn=$(grep '^binddn' $ldap_conf| awk '{print $2}')
-   bindpw=$(grep '^bindpw' $ldap_conf| awk  '{print $2}')
+   rootbinddn=" -D "$(grep '^binddn' $ldap_conf| awk '{print $2}')
+   bindpw="-w "$(grep '^bindpw' $ldap_conf| awk  '{print $2}')
>    }

сорри, поправочка. Не юзаю указанную ветку условия, посему не проверял :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от sHaggY_caT (ok) on 09-Сен-09, 12:20 
>>    } || {
>>
>
>-   rootbinddn=$(grep '^binddn' $ldap_conf| awk '{print $2}')
>-   bindpw=$(grep '^bindpw' $ldap_conf| awk  '{print $2}')
>+   rootbinddn=" -D "$(grep '^binddn' $ldap_conf| awk '{print $2}')
>+   bindpw="-w "$(grep '^bindpw' $ldap_conf| awk  '{print $2}')
>>    }
>
>сорри, поправочка. Не юзаю указанную ветку условия, посему не проверял :)

А еще есть NIS, Samba (не AD) авторизация... ;)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от Slavaz (ok) on 09-Сен-09, 12:37 

>А еще есть NIS, Samba (не AD) авторизация... ;)

Не осилю :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "Как узнать, сколько пользователей создано в системе"  +1 +/
Сообщение от Anatoliy (??) on 09-Сен-09, 12:51 
>>    } || {
>>
>
>-   rootbinddn=$(grep '^binddn' $ldap_conf| awk '{print $2}')
>-   bindpw=$(grep '^bindpw' $ldap_conf| awk  '{print $2}')
>+   rootbinddn=" -D "$(grep '^binddn' $ldap_conf| awk '{print $2}')
>+   bindpw="-w "$(grep '^bindpw' $ldap_conf| awk  '{print $2}')
>>    }
>
>сорри, поправочка. Не юзаю указанную ветку условия, посему не проверял :)

Жесть. ;-)
А если у меня пользователи еще и в mysql?
man getent

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от Slavaz (ok) on 09-Сен-09, 13:06 
>man getent

Действительно жесть я написал в свете getent. Спасибо :)

Всё тогда много сокращается:

getent passwd| awk -F':' \
-v UID_MIN=$(grep '^UID_MIN' /etc/login.defs | awk '{print $2}') \
-v UID_MAX=$(grep '^UID_MAX' /etc/login.defs | awk '{print $2}') \
\
'{if ($3 >= UID_MIN && $3 <= UID_MAX) print $1;}'

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

22. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от zerot email(ok) on 09-Сен-09, 16:50 
тяжело удержаться :-)

коллега, откройте для себя getent, который отдаст вам пользователей из всех источников сразу - и из системных файлов, и из LDAP, и из других, обслуживаемых nss

getent passwd | awk -F\: '{ if ( $3 > 1000 ) print $0; }' | wc -l

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

23. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от Slavaz (ok) on 09-Сен-09, 17:19 
>тяжело удержаться :-)
>коллега, откройте для себя getent, который отдаст вам пользователей из всех источников

Спасибо. уже открыл. :)

Век живи... и всё равно дураком помру.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от sHaggY_caT (ok) on 08-Сен-09, 17:20 
>Как узнать, сколько пользователей создано в системе
>
>+
>
>Как правильно создать пользователя, с ограниченными правами.

http://www.freebsd.org/doc/ru/books/handbook/users.html + обязательно научится пользоваться гуглом, иначе такие рекомендации, как Вам дали Выше, будут давать постоянно.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Как узнать, сколько пользователей создано в системе"  +/
Сообщение от Антон email(??) on 08-Сен-09, 19:59 
>>Как узнать, сколько пользователей создано в системе
>>
>>+
>>
>>Как правильно создать пользователя, с ограниченными правами.
>
>http://www.freebsd.org/doc/ru/books/handbook/users.html + обязательно научится пользоваться гуглом, иначе такие рекомендации, как Вам дали
>Выше, будут давать постоянно.

Спасибо !

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру