The OpenNET Project / Index page

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

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

"установка прав на папки по их названию"  +/
Сообщение от Bint (ok) on 07-Сен-10, 14:20 
Помогите пожалуйста написать скрипт на sh для раздачи прав на файлы и папки. есть папка samba/Home в которой находятся папки пользователей название которых совпадают с соответствующими логинами (вида 28-00-XXX и некоторые из них 28-00XXX). DDDDD - домен.
что-то такое переделать не могу придумать как
find /samba/Home/ -type d -print0 | xargs --null setfacl -m u:DDDDD+28-00XXX:rwx
т.е. надо каждому пользователя дать полные права на свою папку.

winbind установлен и настроен. т.е. с доменными учетками проблем не возникнет. основная сложность именно чтобы обойти все папки и дать права именно тому пользователю которым папка названа..

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

Оглавление

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


1. "установка прав на папки по их названию"  +/
Сообщение от Кирилл_Н (ok) on 07-Сен-10, 16:55 
>[оверквотинг удален]
>папки. есть папка samba/Home в которой находятся папки пользователей название которых
>совпадают с соответствующими логинами (вида 28-00-XXX и некоторые из них 28-00XXX).
>DDDDD - домен.
>что-то такое переделать не могу придумать как
>find /samba/Home/ -type d -print0 | xargs --null setfacl -m u:DDDDD+28-00XXX:rwx
>т.е. надо каждому пользователя дать полные права на свою папку.
>
>winbind установлен и настроен. т.е. с доменными учетками проблем не возникнет. основная
>сложность именно чтобы обойти все папки и дать права именно тому
>пользователю которым папка названа..

попробуйте так

for i in /samba/Home/*
do
   [ -d $i ] && setfacl -m u:`basename $i`+28-00XXX:rwx $i
done

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

2. "установка прав на папки по их названию"  +/
Сообщение от Bint (ok) on 07-Сен-10, 17:20 
>попробуйте так
>
>for i in /samba/Home/*
>do
>   [ -d $i ] && setfacl -m u:`basename $i`+28-00XXX:rwx
>$i
>done

хм. у меня в папке home 150 папок с названиями 28-00001, 28-00005, 28-00020 и т.п.
в этом скрипте я не вижу подстановки чтобы на папку 28-00005 скажем получил права пользователь 28-00005, о чем собственно и речь.

или имя папки присваивается $i? тогда надо так чтоли ? а всем файлам и подпапкам так же права не встанут...
>for i in /samba/Home/*
>do
>   [ -d $i ] && setfacl -m u:DDDDD+`basename $i`:rwx
>$i
>done

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

3. "установка прав на папки по их названию"  +/
Сообщение от Кирилл_Н (ok) on 07-Сен-10, 18:06 
>[оверквотинг удален]
>в этом скрипте я не вижу подстановки чтобы на папку 28-00005 скажем
>получил права пользователь 28-00005, о чем собственно и речь.
>
>или имя папки присваивается $i? тогда надо так чтоли ? а всем
>файлам и подпапкам так же права не встанут...
>>for i in /samba/Home/*
>>do
>>   [ -d $i ] && setfacl -m u:DDDDD+`basename $i`:rwx
>>$i
>>done

да. в i будет путь к папке.
ну тогда чуть сложнее

for i in /samba/Home/*
do
   if [ -d $i ]
   then
      setfacl -m u:DDDDD+`basename $i`:rwx $i
      find $i -exec setfacl -m u:DDDDD+`basename $i`:rwx {} \;
   fi
$i
done

т.е. для всех папок находим путь к ней, ставим права на неё, а потом в этой папке ищем всё и ставим права для всего.
c acl я не знаком, но ман говорит последним параметром должен идти файл отсюда и {}

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

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

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




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

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