The OpenNET Project / Index page

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

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

"Помогите разобраться"
Сообщение от Lex emailИскать по авторуВ закладки on 04-Сен-03, 09:50  (MSK)
Имеется список пользователей, формат аналогичен /etc/passwd
UserName:CleanPassword::::HomeDir:shell
пример: alex:dfddsf::::/home/lamer:/bin/bash/
...
Так вот запускаем команду, прописываем их в систему. А теперь требуется по этому же списку создать для каждого пользователя файл нулевой длины, имя файла-имя пользователя, права доступа 777, владелец UserName:mail.
Вот я написал:
---
#!/bin/bash

var=`cut -f1 -d: /home/usersfile`
echo $var
touch $var
chmod 660 $var
chgrp mail $var
---
Вопрос: А как этим файлам дать владельца - UserName(из списка, у каждого свое)?
Блин, ничего в голову не приходит, кроме chown $var $var , но это не правильно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "Помогите разобраться"
Сообщение от alex Искать по авторуВ закладки on 04-Сен-03, 12:24  (MSK)
>Имеется список пользователей, формат аналогичен /etc/passwd
>UserName:CleanPassword::::HomeDir:shell
>пример: alex:dfddsf::::/home/lamer:/bin/bash/
>...
  poprobui zasunuti eto v cikl, i chitati kajduiu zapisi
po otdelinosti, naprimer:

  cat /home/usersfile | while read NEXT; do
         var=`echo $NEXT | sed 's/:/ /' | awk '{ print $1 }'`;
         echo $var
         touch $var
         ...
         chown $var $var
       done

Alex

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Помогите разобраться"
Сообщение от Lex emailИскать по авторуВ закладки on 05-Сен-03, 05:54  (MSK)
>  poprobui zasunuti eto v cikl, i chitati kajduiu zapisi
>po otdelinosti, naprimer:
>
>  cat /home/usersfile | while read NEXT; do
>         var=`echo $NEXT |
>sed 's/:/ /' | awk '{ print $1 }'`;
>         echo $var
>         touch $var
>         ...
>         chown $var $var
>
>       done
>
>Alex
>

Спасибо за подсказку, тогда проблема решается ещё проще:
---
#!/bin/bash

cut -f1 -d: /home/usersfile |
while read file; do
     touch $file
     ...
done
---

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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