Просмотр полной версии : Права доступа к файлам в Linux/Unix
Serge_vs
06.02.2007, 20:06
Как управлять правами доступа к файлам, созданным пользователем?
Конкретнее: пользователь vasya качает из инета файл и записывает в общедоступный каталог /home/public содержимое которого можно читать всем. Но файл попадает туда с аттрибутами 600 (Васе можно читать и писать - остальнім нет доступа) а нужно чтобы его читали ВСЕ. Как заставить FireFox, KMail и др. сохранять файлы чтобы их могли читать другие?
Merkator2006
09.02.2007, 16:37
Как управлять правами доступа к файлам, созданным пользователем?
Конкретнее: пользователь vasya качает из инета файл и записывает в общедоступный каталог /home/public содержимое которого можно читать всем.
Каким образом записывает ???
Может сделать chmod 755 /home/public :)
Merkator2006 правильно сказал. Права доступа директории распостраняются так же и на файлы в этой директории.
То есть юзера находятся в одной группе. Делаешь
chgrp users /home/public
дальше
chmod 750 /home/public
И теперь все юзера группы могут читать файлы в этой директории
или
chmod 755 /home/public
Так все смогут читать и исполнять файлы в этой директории
Басурманин
18.02.2007, 11:21
Merkator2006 правильно сказал. Права доступа директории распостраняются так же и на файлы в этой директории.
То есть юзера находятся в одной группе.
Неправильно сказал.
Права на директорию - отдельно. Права на файлы в этой директории - отдельно. И наличия прав на каталог недостаточно для чтения файлов в этом каталоге.
В самом общем случае для чтения файла пользователю необходимо иметь:
Право "rx" для каталога, в котором расположен файл, и всех вышележащих каталогов
Право, как минимум "r" для файла внутри этого каталога
(право rx для каталога означает "могу посмотреть список файлов в каталоге (право r) и атрибуты всех этих файлов (право x)").
Делаешь
chgrp users /home/public
дальше
chmod 750 /home/public
И теперь все юзера группы могут читать файлы в этой директории
Здесь поправка: могут, если установлены соответствующие права на файл. В нашем случае (права к файлу 600) прав явно недостаточно.
или
chmod 755 /home/public
Так все смогут читать и исполнять файлы в этой директории
Аналогичное замечание. С той добавкой, что права на каталог никак не влияют на возможность/невозможность исполнения файла в этом каталоге.
Merkator2006
18.02.2007, 20:03
Неправильно сказал.
Права на директорию - отдельно. Права на файлы в этой директории - отдельно. И наличия прав на каталог недостаточно для чтения файлов в этом каталоге.
Это всем понятно. Только у человека права уже стоят 600. Может он через самбу файлы записывает, а может параметр umask 20 стоит в загрузке.
Я только предположил, и намекнул (помог) в каком направлении искать проблему.
Serge_vs
20.02.2007, 18:32
Merkator2006 правильно сказал. Права доступа директории распостраняются так же и на файлы в этой директории.
То есть юзера находятся в одной группе. Делаешь
chgrp users /home/public
дальше
chmod 750 /home/public
И теперь все юзера группы могут читать файлы в этой директории
или
chmod 755 /home/public
Так все смогут читать и исполнять файлы в этой директории
файлы записываются линуксовой програмой (обычно firefox или KMail) и читаются через самбу.
это понятно что под рутом можно легко поменять права.
а сможет ли обычный юзер это сделать?
в винде есть наследование прав с каталога на файлЫ. можно ли это исполнить в линухе?
что за команда umask? (man umask ничего хорошего не выдал :( )
Merkator2006
21.02.2007, 12:06
это понятно что под рутом можно легко поменять права.
а сможет ли обычный юзер это сделать?
в винде есть наследование прав с каталога на файлЫ. можно ли это исполнить в линухе?
Пользователь может поменять права на каталоги или файлы, при условии что пользователь владелец.
Права каталога на файлы будут наследоваться, владелец файлов будет тот, кто записал файл. Почти так-же как в Windows.
Проверить ls -l, а заменить chown
Немогу понять Вашу проблему - chmod 777 /home/public и все должно быть хорошо.
Добавлено через 30 минут
что за команда umask? (man umask ничего хорошего не выдал :( )
Set the shell process's file creation mask to mode. Thus, a umask of 022 results in permissions of 755.
Если твой shell chs то смотри файл .cshrc , если bash , то .bashrc ,
в Linux может быть и в файле /etc/profile -- там строчка umask 022
Грубо говоря - какие по права устанвливаются при создании файла. Если файл .cshrc содержит строчку umask 077, то создаваемые файлы по умолчанию сможете прочитать только Вы (и администратор, естественно).
Serge_vs
21.02.2007, 12:48
Пользователь может поменять права на каталоги или файлы, при условии что пользователь владелец.
Права каталога на файлы будут наследоваться, владелец файлов будет тот, кто записал файл. Почти так-же как в Windows.
Изменить права на каталог не помогает - файл не неследует права каталога.
Попробую поэкспериментировать с umask.
Как управлять правами доступа к файлам, созданным пользователем?
Конкретнее: пользователь vasya качает из инета файл и записывает в общедоступный каталог /home/public содержимое которого можно читать всем. Но файл попадает туда с аттрибутами 600 (Васе можно читать и писать - остальнім нет доступа) а нужно чтобы его читали ВСЕ. Как заставить FireFox, KMail и др. сохранять файлы чтобы их могли читать другие?
РЕШЕНИЕ:ПРОСТО НУЖНО ПЕРЕОДИЧЕСКИ ИЗМЕНЯТЬ ПРАВА ДОСТУПА,НАПРИМЕР КАЖДЫЕ ПОЛЧАСА,с помощью cron:
создаешь задание от рута,или пользователя имеющего полномочия
вида
30 * * * 1-6 chmod -R 777 /opt/work
все теперь все могут делать все что угодно,процесс автоматризирован:)
Serge_vs
04.04.2007, 15:17
РЕШЕНИЕ:ПРОСТО НУЖНО ПЕРЕОДИЧЕСКИ ИЗМЕНЯТЬ ПРАВА ДОСТУПА,НАПРИМЕР КАЖДЫЕ ПОЛЧАСА,с помощью cron:
создаешь задание от рута,или пользователя имеющего полномочия
вида
30 * * * 1-6 chmod -R 777 /opt/work
все теперь все могут делать все что угодно,процесс автоматризирован:)
идея интересная. как пользоваться cron-ом не подскажете, а то мануалы лень читать :-)
как пользоваться cron-ом не подскажете,
Так, вам уже дали строчку. Пропишите её в конфигурационном файле cron-а. Остальное: запуск cron-а и т.д., - уже от вашего дистрибутива зависит.
А вообще, есть ещё и такой вариант обмена:
http://lice.wordpress.com/2007/02/27/file-sharing-between-two-boxes/
А у SAMBA несколько вариантов безопасности. Выберите самый простой (только пароль и всё).
Да ребята вы что то все тут усложнили вообще это можно все сделать в samba-е:roll:
Добавлено через 8 минут
Да ребята вы что то все тут усложнили вообще это можно все сделать в samba-е:roll:
Просто нужно немного пошарить в настройках smba:razz:
byman002
14.04.2007, 09:08
файл smb.conf:
строки посмотри:
в разделе
[global]
create mask = 0666
directory mask = 0777
вроде здесь по крайней мере у меня под samba работает.
_scratch_
14.04.2007, 14:15
2byman002
только это лучше написать не в [global]-секцию, а для той папки, которую нужно расшарить, наверное.
vBulletin® v3.8.9, Copyright ©2000-2026, vBulletin Solutions, Inc.