The OpenNET Project / Index page

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

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

"adduser"  +/
Сообщение от traffshow on 04-Сен-09, 13:47 
Hi!

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

Необходимо реализовать добавление имен пользователей в отдельный файл, после добавления их в систему с помощью adduser.

Заранее благодарен.

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

Оглавление

  • adduser, nazimka, 13:51 , 04-Сен-09, (1)  
    • adduser, renton, 14:19 , 04-Сен-09, (2)  
      • adduser, traffshow, 19:27 , 04-Сен-09, (4)  
        • adduser, Slavaz, 10:48 , 07-Сен-09, (6)  
          • adduser, traffshow, 17:40 , 07-Сен-09, (7)  
            • adduser, Slavaz, 18:04 , 07-Сен-09, (8)  
              • adduser, traffshow, 18:07 , 07-Сен-09, (9)  
                • adduser, Slavaz, 18:44 , 07-Сен-09, (10)  
                  • adduser, traffshow, 19:05 , 07-Сен-09, (11)  
                    • adduser, Slavaz, 21:53 , 07-Сен-09, (12)  
    • adduser, traffshow, 18:59 , 04-Сен-09, (3)  
      • adduser, shadow_alone, 21:33 , 04-Сен-09, (5)  

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


1. "adduser"  +/
Сообщение от nazimka (ok) on 04-Сен-09, 13:51 
>Hi!
>
>Подскажите пожалуйста, каким образом можно выполнить следующую задачу:
>
>Необходимо реализовать добавление имен пользователей в отдельный файл, после добавления их в
>систему с помощью adduser.
>
>Заранее благодарен.

а чем /etc/passwd  не устраивает?

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

2. "adduser"  +/
Сообщение от renton email(??) on 04-Сен-09, 14:19 
>>Hi!
>>
>>Подскажите пожалуйста, каким образом можно выполнить следующую задачу:
>>
>>Необходимо реализовать добавление имен пользователей в отдельный файл, после добавления их в
>>систему с помощью adduser.
>>
>>Заранее благодарен.
>
>а чем /etc/passwd  не устраивает?

adduser ... USERNAME && echo USERNAME >> /patch_to_file_userlist

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

4. "adduser"  +/
Сообщение от traffshow on 04-Сен-09, 19:27 

>adduser ... USERNAME && echo USERNAME >> /patch_to_file_userlist

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

Тут нужны знатоки перла.
Есть такие?

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

6. "adduser"  +/
Сообщение от Slavaz (ok) on 07-Сен-09, 10:48 
>>adduser ... USERNAME && echo USERNAME >> /patch_to_file_userlist
>
>Этот вариант не совсем подходит, тк нужно добавлять вручную имя для каждого
>отдельного юзера.
>Нужно чтобы оно автоматически после создания добавлялось в файл.
>
>Тут нужны знатоки перла.
>Есть такие?

Зачем здесь перл?

cat >/usr/local/sbin/myadduser <<EOF
#!/bin/sh
$(which addurser) $@ \
  && cut -d ':' -f1 /etc/passwd >/path/to/own_users.list
EOF

Дальше есть целых два варианта:
1) через alias переназначить adduser на свой скрипт:
alias adduser='/usr/local/sbin/myadduser'
Куда прописать -  решаете сами (в ~/.bash_profile рута или в /etc/profile.d/... )

2) просто переименовать оригинальный adduser и вместо него подставить свой:
mv /usr/sbin/adduser{,.orig}
mv /usr/local/sbin/myadduser /usr/sbin/adduser
# меняем в своём файле вызов adduser на adduser.orig
sed -i 's/\(adduser\)/\1.orig/' /usr/sbin/adduser


Я делал бы по первому варианту с алиасами. Потому что после очередного yum update / apt-get update / emerge / etc собственный враппер-скрипт будет заменён.

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

7. "adduser"  +/
Сообщение от traffshow (ok) on 07-Сен-09, 17:40 
в результате - последний файл пустой, в который идет перенаправление вывода.
можно подробные комментарии к скрипту, если не сложно?


>cat >/usr/local/sbin/myadduser <<EOF
>#!/bin/sh
>$(which addurser) $@ \
>  && cut -d ':' -f1 /etc/passwd >/path/to/own_users.list
>EOF
>

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

8. "adduser"  +/
Сообщение от Slavaz (ok) on 07-Сен-09, 18:04 
>в результате - последний файл пустой, в который идет перенаправление вывода.
>можно подробные комментарии к скрипту, если не сложно?
>>#!/bin/sh

# выполнить команду adduser с передачей ей всех параметров своей комстроки
>>$(which addurser) $@ \

# если успешно, то читать файл /etc/passwd как таблицу;
# разделитель полей - двоеточие;
# отобразить только первое поле;
# вывод перенаправить в файл /path/to/own_users.list
>>  && cut -d ':' -f1 /etc/passwd >/path/to/own_users.list

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

9. "adduser"  +/
Сообщение от traffshow (ok) on 07-Сен-09, 18:07 
Ок, а если не успешно? Получается пустой файл?
тк ни ошибки, ни результата нэт(

FreeBSD 4.11


>[оверквотинг удален]
>>>#!/bin/sh
>
># выполнить команду adduser с передачей ей всех параметров своей комстроки
>>>$(which addurser) $@ \
>
># если успешно, то читать файл /etc/passwd как таблицу;
># разделитель полей - двоеточие;
># отобразить только первое поле;
># вывод перенаправить в файл /path/to/own_users.list
>>>  && cut -d ':' -f1 /etc/passwd >/path/to/own_users.list

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

10. "adduser"  +/
Сообщение от Slavaz (ok) on 07-Сен-09, 18:44 
Опс.. верно. поправочка:


&& { cut -d ':' -f1 /etc/passwd >/path/to/own_users.list }

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

11. "adduser"  +/
Сообщение от traffshow (ok) on 07-Сен-09, 19:05 
... может лыжи не едут у меня конечно... :(

но результат тот же.


>Опс.. верно. поправочка:
>
>
> && { cut -d ':' -f1 /etc/passwd >/path/to/own_users.list }

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

12. "adduser"  +/
Сообщение от Slavaz (ok) on 07-Сен-09, 21:53 
>> && { cut -d ':' -f1 /etc/passwd >/path/to/own_users.list }
>но результат тот же.

Извините, не увидел сразу FreeBSD-4.x

Гм. Попробуйте тогда так:

&& { awk -F ':' '{print $1}' /etc/passwd >/path/to/own_users.list }

я теперь уже не уверен, что сработает, ибо с фряхой дела не имел.

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

3. "adduser"  +/
Сообщение от traffshow on 04-Сен-09, 18:59 

>
>а чем /etc/passwd  не устраивает?

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

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

5. "adduser"  +/
Сообщение от shadow_alone (ok) on 04-Сен-09, 21:33 
поставьте крон на сравнение /etc/passwd
отдельный файл для крона, с которым сравнивать.
если есть разница, он ее пишет куда угодно, если нет, молчит в тряпочку.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

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




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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