LINUX.ORG.RU

ох уж эти права


0

1

День добрый.
cron переодически запускаетс программу
программа сбрасывает данные в файл
папка где расположен файл расшарена в samba

почему нет доступа на чтение этого файла по сети?

[mydir]
comment = output file of mail
path = /dir/mydir
browseable = no
read only = yes
valid users = readerusers
create mask = 0755
directory mask = 0755
force create mode = 0755
force directory mode = 0755

делайте chmod 755 $file после выполнения создания файла

guilder ()

Cron создает файл с какими правами и каким пользователем\группой?

anonymous ()

Так ведь файл создается cron-ом. Проверьте umask того, от чьего имени запускается программа создания файла.

Ну или делайте chmod 644 $FILE.

ilias ()
Ответ на: комментарий от ilias

сделал как посоветовали через chmod

но хотел бы разобраться почему крон сохраняет в папку самбы с другими правами? а имено: -rw-------

в другие папки кладет как надо -rw-r--r--

mordovorot ()
Ответ на: комментарий от mordovorot

cron-то, наверное, не сам это делает. Какую программу он запускает? Возможно, эта программа меняет права на результирующий файл.

ilias ()
Ответ на: комментарий от ilias

нет не программа, если результат записывать в папку самбы - права меняются

вот в чём я не уверен в самба конфиге valid users = user1

а крон станртует от user2

может их в одну группу?

mordovorot ()
Ответ на: комментарий от mordovorot

имелось в виду, видимо, ~/.bashrc, ~/.bash_profile
и там команда umask
у Вас пользователи в разных группах, нужен вывод grep user[1,2] /etc/groups?

backbone ★★★★★ ()
Ответ на: комментарий от mordovorot

Поищите umask в /home/user[12]/.profile или /home/user[12]/.bash_profile.

ilias ()
Ответ на: комментарий от backbone

>нужен вывод grep user[1,2] /etc/groups
adm:x:4:user1
dialout:x:20:user1
cdrom:x:24:user1
plugdev:x:46:user1
sambashare:x:108:user1
user1:x:1000:
lpadmin:x:113:user1
admin:x:114:user1

user2:x:1001:

crontab:x:102:

sambashare:x:108:user1

mordovorot ()
Ответ на: комментарий от mordovorot

user1 не входит в группу cron, самый верный метод - запуск программы от user1, по-моему

backbone ★★★★★ ()
Ответ на: комментарий от mordovorot

Может быть, решить проблему кардинально:

chown user1:user1 $FILE chmod 644 $FILE

:-)

ilias ()
Ответ на: комментарий от backbone

Спасибо за все сообщения, но отдельно за последние три! БРАВО!

mordovorot ()
Ответ на: комментарий от mordovorot

> нет не программа, если результат записывать в папку самбы - права меняются

Все права, что перечислены smb.conf, применяются к файлам и директориям тогда, когда они ЗАЛИВАЮТСЯ по smb в расшаренную директорию.

Если ты создаёшь локально, то логично, что опции, прописанные в smb.conf, на них действовать не будут :)

Deleted ()
Ответ на: комментарий от Deleted

вероятно в smbusers записано соответствие UNIX-пользователя user1 соответствующему samba-пользователю user1, как
user1 = user1
(unix_user = smb_user)

backbone ★★★★★ ()
Ответ на: комментарий от backbone

>>мб man su ?

su - user1 -c program

если нужен запуск от имени пользователя user1, а не от крон...

о майн гад ... срочно man startproc

MikeDM ★★★★★ ()
Ответ на: комментарий от MikeDM

для демонов - start-stop-daemon
и да, чем Вам su для запуска одной команды не понравился?

backbone ★★★★★ ()
Ответ на: комментарий от ipwww

>browseable = no

это зачем?

Есть очень любопытные пользователи в местной сети.

mordovorot ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.