LINUX.ORG.RU

Права на файлы


0

1

День добрый. Подскажите как мне дать пользователю Usertest возможность менять атрибуты файлов, владелец которых www-data.

Если я правильно понял, то при смене группы пользователя изменится и его домашняя директория, а мне этого не надо...

(debian 7)

Ответ на: комментарий от emulek

Не нужно, согласен (в смысле можно обойтись), но и менять он ничего не сможет. Просто заранее дать нужные права, чтобы всем хватило для работы. Но это и не то что он просил в топике.

Подскажите как мне дать пользователю Usertest возможность менять атрибуты файлов, владелец которых www-data.

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 2)
Ответ на: комментарий от drake

Это другая ветка дискуссии (дерева) и туда я не писал вообще.

Вот одна ветвь www.linux.org.ru/delete_comment.jsp?msgid=10078718

Вот другая www.linux.org.ru/delete_comment.jsp?msgid=10079021

То что emulek лезет в каждую дырку, ну такой он шизик, это ЧСВ сорвало крышу еще drBatty

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 1)
Ответ на: комментарий от drake

Хотя хз

просто так никто не делает. Права администратора сайта заведомо выше, чем у самого сайта, потому файлы сайта принадлежат именно администратору сайта, а сам сервер туда ходит в гости, и трогает только то, что администратор разрешает.

А какой смысл тогда какой в sgid?

SGID нужен только для того, что-бы в каталогах которые создаёт хозяин(администратор сайта) можно было-бы гостю(апачу) создавать файлы. Если SGID'а не будет, то группа каталога будет как init-группа администратора сайта, и апач не сможет там ничего создать/удалить.

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

Не нужно, согласен (в смысле можно обойтись), но и менять он ничего не сможет. Просто заранее дать нужные права, чтобы всем хватило для работы. Но это и не то что он просил в топике.

заранее можно для того, что есть. Вот SGID нужен как раз для новых файлов и каталогов.

А вот хозяина не нужно менять на чужого. Наоборот — удобно, сразу видно, кто файлы притащил.

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

потому что думать надо, а не команды копипастить.

ЗЫ

find /var/www/siteA/ -type d -exec chmod -v 02770 {} \;

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

да даже если для одного файла я поставлю права 02770 все равно не могу их менять через фтп

1. сможешь. man 1 ftp

     chmod mode file-name
                 Change the permission modes of the file file-name on the remote sytem to mode.

(конечно нужно это разрешить в конфиге сервера и использовать Ъ клиент)

2. зачем тебе менять права? Зачем менять права администратору сайта? Зачем менять права апачу?

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

группа каталога будет как init-группа администратора сайта

Но если администратор приходит только по ftp, то правильную группу новым файлам может ставить и ftp-сервер. Ведь в случае, если группа одна для всех админисраторов (www-data), разграниченим доступа м/у админами итак будет заниматься ftp-сервер.

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

То что emulek лезет в каждую дырку, ну такой он шизик, это ЧСВ сорвало крышу еще drBatty

ваще-то ТС один, и вопрос у него один. А ты просто завидуешь моему скилу телепатии. Я через либастрал заранее знал, что нужно ТСу ещё до того, как он сам это понял.

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

Но если администратор приходит только по ftp, то правильную группу новым файлам может ставить и ftp-сервер.

а если не только? А как это реализовать, если администратор сайта использует например FAR для работы? AFAIK в FAR нет chmod.

Ведь в случае, если группа одна для всех админисраторов (www-data), разграниченим доступа м/у админами итак будет заниматься ftp-сервер.

не правильно. группа www-data является гостевой. Хозяин сайта(администратор) самостоятельно выставляет доступ гостям(апачу). Он отдельно (не)даёт три права для каждого каталога

1. использование(если запретить -x, то в каталог будет вообще не войти)

2. чтение(запрет не даст список файлов читать)

3. запись(разрешение создавать/удалять файлы. В частности и перезаписывать поверх).

Ну а ftp-сервер делает chroot для каждого юзера(я надеюсь). Это вообще из другой оперы.

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

дык прекрати советовать работать под рутом, в т.ч. править рутовый кронтаб и давать всем подряд sudo. Это не нужно.

Работают под рутом только мудаки.

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

потому что думать надо, а не команды копипастить.

сложно думать о том чего не знаю...

зачем тебе менять права?

клиент хочет запретить запись в директории созданные через визуальный редактор, а у них права 777 и у файлов 777

сможешь. man 1 ftp

ну не меняются же... (скрин: http://clip2net.com/s/6DETs3)

(конечно нужно это разрешить в конфиге сервера и использовать Ъ клиент)

так откуда я знаю каким клиентом они будут пользоваться...

darkozoid
() автор топика
Ответ на: комментарий от emulek

Сам мудак, потому что нихера не думаешь о чем и куда пишешь. Я не советовал работать под рутом. sudo + скрипт-обертка это меньше чем работа под рутом, кроме того там речь шла о смене владельца.

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

Хех, ну-ну. Мне отвечать тому говнюку (emulek) надоело, он все-равно не сознает нихера. Но я понаблюдаю за тредом, когда до тебя начнет доходить что ты хочешь и что тебе советует говнометатель.

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

Подожди. Есть администратор, которы заходит по ftp и создаёт файлы/каталоги. С какими правами будут создаваться файлы _по_дефолту_? Что-то вроде «username:www-data» и «660/770»? Но если нужны другие «цифры», то отдельно их меняешь, так?

А как это реализовать, если администратор сайта использует например FAR для работы?

В смысле в конфиге ftp-сервера задать отдельно группу для новых файлов. Что-то типа «GroupOwner www-data». От клиента это не зависит.

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

сложно думать о том чего не знаю...

дык команды я дал, есть мануал к ним. Его надо читать...

клиент хочет запретить запись в директории созданные через визуальный редактор, а у них права 777 и у файлов 777

это ты про веб-морду? Дык это кривизна данной морды...

те каталоги, которые клиент сам залил, он может править. И файлы тоже может. В том числе и те файлы, что апач сделал, например загруженные фотки в /upload/.

ну не меняются же... (скрин: http://clip2net.com/s/6DETs3)

что-бы права можно было менять через FTP, нужно поддержку сервера. По умолчанию ЕМНИП CHMOD не работает. Но тебе это и не нужно, просто смени umask в сервере, и права будут как тебе надо. umask 0002, права на каталоги получатся 0775.

так откуда я знаю каким клиентом они будут пользоваться...

у них права будут 0775. В любом клиенте из-за umask.

А самые продвинутые клиенты смогут(если ты разрешишь конечно) сменить права на 0755, что-бы апач не портил файлы в некоторых каталогах(например index.php).

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

Подожди. Есть администратор, которы заходит по ftp и создаёт файлы/каталоги. С какими правами будут создаваться файлы _по_дефолту_? Что-то вроде «username:www-data» и «660/770»? Но если нужны другие «цифры», то отдельно их меняешь, так?

по дефолту хозяин username:usergrp, права 0755. Но т.к. SGID, то хозяин username:www-data, как в каталоге верхнего уровня. А права на каталог из-за umask: 02775. Права на файл 0664. Это по FTP.

В смысле в конфиге ftp-сервера задать отдельно группу для новых файлов. Что-то типа «GroupOwner www-data». От клиента это не зависит.

нет. Группа наследуется из каталога. Сама, без всякого ftp. В ftp надо только umask править, т.к. по дефолту там 0022, а нам надо 0002.

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

если захожу по ftp и создаю новый файл, то он создается с правами 644 и владелец/группа 555/557

www-data 33/33

если надо поменять права на этот файл то все нормально... но вот если файл залит скриптом, то владелец не я а www-data и тогда поменять права я уже не могу через ftp

darkozoid
() автор топика
Ответ на: комментарий от emulek

umask в сервере, и права будут как тебе надо. umask 0002, права на каталоги получатся 0775.

блин... ну и каша в голове... как мне сделать

umask 0002
для всех сайтов всех пользователей?

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

М.б. тогда так:

# chmod u+s,g+s site.com
# chown someusername:www-data site.com
# umask 000 site.com

someusername - аккаунт владельца сайта.

site.com - корневой каталог сайта.

drake
()
Последнее исправление: drake (всего исправлений: 1)
Ответ на: комментарий от darkozoid

umask 0002

для всех сайтов всех пользователей?

umask задаётся для каждого процесса. В данном случае надо в конфиге ftp-сервера править.

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

u+s

да не нужен тут SUID! Необходимо и достаточно только SGID'а, который g+s. А этот u+s вообще линукс игнорит(вроде во всех дистрах так).

umask 000

umask 0002.

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

chown someusername:www-data site.com

тогда само собой работает, я же меняю владельца...

1. владелец тут администратор сайта, который по ftp. А группа — апач. Сам сервер.

2. это только для старых файлов, новые сами получают нужные права, без постороннего усилия.

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

А этот u+s вообще линукс игнорит

А, ну да.

Необходимо и достаточно только SGID'а

Только chmod для «несвоего» файла работать не будет.

если надо поменять права на этот файл то все нормально... но вот если файл залит скриптом, то владелец не я а www-data и тогда поменять права я уже не могу через ftp

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

Только chmod для «несвоего» файла работать не будет.

если надо поменять права на этот файл то все нормально... но вот если файл залит скриптом, то владелец не я а www-data и тогда поменять права я уже не могу через ftp

всё там работает. Когда ftp-сервер заливает файл _вместо_ того, что уже есть, то он _удаляет_ старый, и заливает на его место новый. И вот в этом новом уже можно менять права (но зачем?).

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

А если я не хочу скачивать, чтобы залить обратно? М.б. там over9000 Гб?

а зачем тебе менять тогда права? Если это лог в Over9000Гб, залей туда «лог» в 0 байтов, и сотрёшь. Или просто сотри, если клиент умеет удаление.

emulek
()

Кстати, ещё вариант (помимо того, где g+s) — поставить веб-сервер, который поддерживает работу от разных пользователей для каждого виртуального хоста, например, apache-mpm-itk.

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