FreeBSD 4.4 (MacOS 10.2.3)
Есть несколько пользователей, каждый на своей персоналке. Они попеременно должны работать над одним файлом, который может быть создан любым из них. Файлов создается за день очень много. По-умолчанию создаваемые файлы получают права rw-r--r--.
Все рабочие файлы хранятся в одной рабочей папке.
Хочу чтобы любой файл или папка, создаваемые или перемещаемые в эту общую папку автоматически получали права rw-rw-rw-.
Как это можно сделать?Есть мысль припрячь cron, чтобы он каждую, скажем, минуту чмодил все содержимое этой папки. Но возникла проблема - он выполняет команды от имени залогиненого юзера, а его прав не достаточно, чтобы переопределить права файла, созданного другим юзером.
Гуры, подскажите чего-нить.
>FreeBSD 4.4 (MacOS 10.2.3)
>Есть несколько пользователей, каждый на своей персоналке. Они попеременно должны работать над
>одним файлом, который может быть создан любым из них. Файлов создается
>за день очень много. По-умолчанию создаваемые файлы получают права rw-r--r--.
>Все рабочие файлы хранятся в одной рабочей папке.
>Хочу чтобы любой файл или папка, создаваемые или перемещаемые в эту общую
>папку автоматически получали права rw-rw-rw-.
>Как это можно сделать?а что на серваке то крутится?
>а что на серваке то крутится?Де-юре сервака нет. Все машины одинаковы в правах. Но одна де-факто выполняет функции сервера, на ней и лежит эта папка с рабочими файлами. Все машины настроены одинакого под MacOS X (FreeBSD 4.4)
Собственно, проблему уже почти решил. Нашел программку-GUI к настройкам cron. В ней есть отдельная настройка system crontab-file. Он выполняется от имени root, и все работает, как я хотел. Вот только не могу разобраться, где же эти настройки хранятся, просто чтоб на будущее не зависеть от этой программули.
>>а что на серваке то крутится?
>
>Де-юре сервака нет. Все машины одинаковы в правах. Но одна де-факто выполняет
>функции сервера, на ней и лежит эта папка с рабочими файлами.
>Все машины настроены одинакого под MacOS X (FreeBSD 4.4)
нет, я так и не понял что у тебя за сеть.
одинаково - как?>Собственно, проблему уже почти решил. Нашел программку-GUI к настройкам cron. В ней
>есть отдельная настройка system crontab-file. Он выполняется от имени root, и
>все работает, как я хотел. Вот только не могу разобраться, где
>же эти настройки хранятся, просто чтоб на будущее не зависеть от
>этой программули.крон в данной ситуации не выход.
>>>а что на серваке то крутится?
>>
>>Де-юре сервака нет. Все машины одинаковы в правах. Но одна де-факто выполняет
>>функции сервера, на ней и лежит эта папка с рабочими файлами.
>>Все машины настроены одинакого под MacOS X (FreeBSD 4.4)
>нет, я так и не понял что у тебя за сеть.
>одинаково - как?
>
>>Собственно, проблему уже почти решил. Нашел программку-GUI к настройкам cron. В ней
>>есть отдельная настройка system crontab-file. Он выполняется от имени root, и
>>все работает, как я хотел. Вот только не могу разобраться, где
>>же эти настройки хранятся, просто чтоб на будущее не зависеть от
>>этой программули.
>
>крон в данной ситуации не выход.Не знаю, пожет ли это делу - AppleFileServer
Можно, если нужно, Samba.Только мне кажется сеть не причем тут. Потому как даже на отдельно стоящем компьютере, скажем, на этом сервере могут логиниться разные юзеры, и они должны получать доступ ко всем рабочим файлам.
А чем cron не выход?
Понимаешь, нас Макинтошников резко вдруг пересадили на UNIX, а GUI не ко всем потребным фичам привесили. Вот и плаваем.
>>>>а что на серваке то крутится?
>>>
>>>Де-юре сервака нет. Все машины одинаковы в правах. Но одна де-факто выполняет
>>>функции сервера, на ней и лежит эта папка с рабочими файлами.
>>>Все машины настроены одинакого под MacOS X (FreeBSD 4.4)
>>нет, я так и не понял что у тебя за сеть.
>>одинаково - как?
>>
>>>Собственно, проблему уже почти решил. Нашел программку-GUI к настройкам cron. В ней
>>>есть отдельная настройка system crontab-file. Он выполняется от имени root, и
>>>все работает, как я хотел. Вот только не могу разобраться, где
>>>же эти настройки хранятся, просто чтоб на будущее не зависеть от
>>>этой программули.
>>
>>крон в данной ситуации не выход.
>
>Не знаю, пожет ли это делу - AppleFileServer
>Можно, если нужно, Samba.
какой именно? netatalk?>
>Только мне кажется сеть не причем тут. Потому как даже на отдельно
>стоящем компьютере, скажем, на этом сервере могут логиниться разные юзеры, и
>они должны получать доступ ко всем рабочим файлам.
>
>А чем cron не выход?
тем что слишком часто запускать придется и все равно нет гарантии что вовремя обновятся права.
да и вообще неправильное решение потому что некрасивое.>
>Понимаешь, нас Макинтошников резко вдруг пересадили на UNIX, а GUI не ко
>всем потребным фичам привесили. Вот и плаваем.
так юниксы используются в качестве рабочих станций, в сети есть мак(и), а на одном из юниксов настроен сервак для доступа маков?
Согласен, меня тоже несколько коробит, но ресурсов не жрет сколько-нибудь заметно, а минутная задержка с присвоением новых прав - беда небольшая.Нет. В сети только Маки. На них стоит MacOS 10.2.3. А она и есть FreeBSD4.4+эппловый GUI. Т.е. все машины под UNIX. Одна из них выполняет функции файл-сервера. Расшарена она AppleFileServer - это по умолчанию. Есть возможность шарить самбой - но не пробовал, не разбирался.
Задача - сделать содержимое папки доступным для записи любому юзеру (удаленному, локальному, админу или распоследнему неадмину) Более того, желательно, чтобы даже никто и не мог изменить права доступа к файлам в папке (за исключение админа, конечно).
>Согласен, меня тоже несколько коробит, но ресурсов не жрет сколько-нибудь заметно, а
>минутная задержка с присвоением новых прав - беда небольшая.
>
>Нет. В сети только Маки. На них стоит MacOS 10.2.3. А она
>и есть FreeBSD4.4+эппловый GUI. Т.е. все машины под UNIX. Одна из
>них выполняет функции файл-сервера. Расшарена она AppleFileServer - это по умолчанию.
>Есть возможность шарить самбой - но не пробовал, не разбирался.
>
она FreeBSD4.4!!!??? по-моему не совсем.
и вообще откуда такие сведения? ссылочку пожалуйста :)
самбой лучше не надо, макось дико глючит на виндовых ресурсах.
что касается обсуждаемого вопроса: во-первых, посмотреть настройки сервера, если они есть в текстовом виде. во-вторых, поиграть с правами родительской папки (т.е. той, в которую все складывается). в-третьих, смотреть в сторону umask.
что-то из этих трех может помочь.
Давненько, Вы, похоже, с Маками не сталкивались. Уже два года как бухтеж идет по поводу перехода Apple на UNIX. :О)
>Давненько, Вы, похоже, с Маками не сталкивались. Уже два года как бухтеж
>идет по поводу перехода Apple на UNIX. :О)
>
>http://www.apple.com/macosx/jaguar/unix.htmlв моей сети есть один мак как раз под той осью о которой идет речь.
но в статье выше говорится только о фичах 4.4, а не о том что макось - 4.4 с переписанным GUI.
как раз наоборот, ядро то свое, да и библиотеки похоже свои.
т.е. это не FreeBSD 4.4., из нее были только позаимствованы идеи. вероятно, реализация сетевого стека и прочие подобные вещи.
в целом макось closedsource со всеми присущими этой модели недостатками.
>в целом макось closedsource со всеми присущими этой модели недостатками.Не совсем...
MacOS, действительно собрана на Unix Darwin, из семейства BSD. Darwin, кстати, opensource.
>>в целом макось closedsource со всеми присущими этой модели недостатками.
>
>Не совсем...
>MacOS, действительно собрана на Unix Darwin, из семейства BSD. Darwin, кстати, opensource.
>а MacOS X нет. Так что открытость ее предков почти ничего не дает.
тот же случай как если бы я собрал дистрибутив FreeBSD что-то там поменяв и не открыв изменения. И уже неважно что я сделал систему на основе открытой системы, все равно никто в моем варианте системы покопаться не сможет.
Тем более это верно если изменения достаточно велики, как в случае с MacOS X.
Мне сложно спорить о "настоящести" Эппловой реализации UNIX. Я только знаю, что производитель позиционирует эту ось как чисто юниксовую, и что идет массовая миграция юниксового софта на МакОсь (значит, это возможно и не затратно, а значит, вполне юниксовая юникс).Кстати, в терминале промпт:
Welcome to Darwin!
>>Согласен, меня тоже несколько коробит, но ресурсов не жрет сколько-нибудь заметно, а
>>минутная задержка с присвоением новых прав - беда небольшая.
>>
>>Нет. В сети только Маки. На них стоит MacOS 10.2.3. А она
>>и есть FreeBSD4.4+эппловый GUI. Т.е. все машины под UNIX. Одна из
>>них выполняет функции файл-сервера. Расшарена она AppleFileServer - это по умолчанию.
>>Есть возможность шарить самбой - но не пробовал, не разбирался.
>>
>она FreeBSD4.4!!!??? по-моему не совсем.
>и вообще откуда такие сведения? ссылочку пожалуйста :)
>самбой лучше не надо, макось дико глючит на виндовых ресурсах.
>что касается обсуждаемого вопроса: во-первых, посмотреть настройки сервера, если они есть в
>текстовом виде. во-вторых, поиграть с правами родительской папки (т.е. той, в
>которую все складывается). в-третьих, смотреть в сторону umask.
>что-то из этих трех может помочь.+man login.conf
>+man login.confНету login.conf
Ни файла такого, ни в манах.
Не может егойное хозяйство в netinfo быть?
>>+man login.conf
>
>Нету login.conf
>
>Ни файла такого, ни в манах.
>
>Не может егойное хозяйство в netinfo быть?vi /etc/login.conf
Поможет
umask меняешь на нужный данным аккаунтам.
И все(все!) файло которое они создают будет с нужной маской.
>>+man login.conf
>
>Нету login.conf
>
>Ни файла такого, ни в манах.
>
>Не может егойное хозяйство в netinfo быть?тебе Игорь все на блюде поднес, неужели трудно решить проблемку,
посмотреть что является login'ом у пользователя и вставить umask или
использовать вызов?man login поможет или man нужного shell (вобщем что собой представляет
login и что является shell'ом у пользователя с инициализацией среды)
>FreeBSD 4.4 (MacOS 10.2.3)
>Есть несколько пользователей, каждый на своей персоналке. Они попеременно должны работать над
>одним файлом, который может быть создан любым из них. Файлов создается
>за день очень много. По-умолчанию создаваемые файлы получают права rw-r--r--.
>Все рабочие файлы хранятся в одной рабочей папке.
>Хочу чтобы любой файл или папка, создаваемые или перемещаемые в эту общую
>папку автоматически получали права rw-rw-rw-.
>Как это можно сделать?
>
>Есть мысль припрячь cron, чтобы он каждую, скажем, минуту чмодил все содержимое
>этой папки. Но возникла проблема - он выполняет команды от имени
>залогиненого юзера, а его прав не достаточно, чтобы переопределить права файла,
>созданного другим юзером.
>
>Гуры, подскажите чего-нить.можно городить огород, а можно использовать одну группу для объединения
пользователей и umask с rw для группы (man umask)
имеем: каталог directory, файлы в котором должны быть доступны по r/w группе пользователей0. создать группу writers
1. добавить пользователей в группу writers
2. chgrp writers directory
3. chmod -R g+xws directoryвсё
>
>можно городить огород, а можно использовать одну группу для объединения
>пользователей и umask с rw для группы (man umask)umask - встроенная комманда интерпретатора. А рабочий интерпретатор - Apple Finder - графическая оболочка. Я могу открыть Terminal и там umask. Но она будет действовать только в пределах этой сессии и в пределах терминала. К Finder тоже можно прикрутить umask при логине. Но документации внятной я не нашел пока. А наощупь не прикручивается как надо.
>>
>>можно городить огород, а можно использовать одну группу для объединения
>>пользователей и umask с rw для группы (man umask)
>
>umask - встроенная комманда интерпретатора. А рабочий
интерпретатор - Apple Finder -мдя. откуда такие знающие берутся, неужели все оттуда же?... :-)
UMASK(2) Linux Programmer's Manual UMASK(2)
NAME
umask - set file creation maskSYNOPSIS
#include <sys/types.h>
#include <sys/stat.h>mode_t umask(mode_t mask);
DESCRIPTION
umask sets the umask to mask & 0777.The umask is used by open(2) to set initial file permissions on a newly-created
file. Specifically, permissions in the umask are turned off from the mode argument
to open(2) (so, for example, the common umask default value of 022 results in new
files being created with permissions 0666 & ~022 = 0644 = rw-r--r-- in the usual
case where the mode is specified as 0666).RETURN VALUE
This system call always succeeds and the previous value of the mask is returned./poige, http://www.morning.ru/~poige/
и чего?
>и чего?это системный вызов aka syscall, dude...
/poige