« Mod_expires И mod_deflate



Сброс пароля root в MySQL, Postgresql, FreeBSD »



Для клиента
Пользователь:
Пароль:
 

FreeBSD ACLs

Категория: / Mine блог / Сервер (FreeBSD)
Ситуация такая: есть папка /www (web:www 751)

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

Собственно устанавливаем сами аклы на файлы:
 
    cd /www
    find . -type f -exec setfacl -m g:seo_users:rw-,mask::rwx {} \;
    find . -type d -exec setfacl -d -m u::rwx,g::rwx,o::---,mask::rw-,g:seo_users:rwx {} \;
    find . -type d -exec setfacl -m g:seo_users:rw- {} \;
 


А вопрос вот в чем:

Когда права для группы стоят rw, то аклы работают, если убрать -w то effective mask становится запрещающей
и доступа у пользователя к файлу уже нет.

Возможно ли как то отключить привязку права группы <--> маска? Почему chmod группы меняет права доступов acl?

UPD: Набросал небольшой скриптик, который помог временно решить проблему

 
#!/usr/local/bin/bash

Line=("site1.ru" "site2.ru" "site3.ru" "siteN.ru")
Files=(".htaccess" "robots.txt" "xsl" "css")
 
for domain in "${Line[@]}"
do
   #echo $Line[$i]
   current="/path_to_www/"$domain
   echo $current
 
  #stat $current
  chmod 2750 $current
 
  setfacl -m g:seo_users:r-x $current
 
  current=$current"/htdocs/"
  setfacl -m g:seo_users:r-x $current
 
  for file in "${Files[@]}"
  do
        test=${current}${file}
          if [ -d $test ]; then
                echo "DIR - "$test
            chown -R webadmin:seo_users $test
                chmod -R 770 $test
            find $test -type d -exec setfacl -d -m u::rwx,g::rwx,o::---,u:www:r-x {} \;
            find $test -type d -exec setfacl -m u::rwx,g::rwx,o::---,u:www:r-x {} \;
            find $test -type f -exec chmod 660 {} \;
            find $test -type f -exec setfacl -m u:www:r-- {} \;
          else
                if [ -f $test ]; then
                  echo "FILE - "$test
                  chown webadmin:seo_users $test
                  chmod 660 $test
                  setfacl -m u:www:r-- $test
            else
                  echo "NOT FOUND - "$test
                fi
          fi
  done
done
 
 


UPD

Таким образом списки доступа (acls) влияют на права доступа к файлам.
Реальный пример:

 
[root@ /htdocs/css]# getfacl -d ./
#file:./
#owner:1010
#group:1050
user::rwx
user:www:r-x
group::rwx
mask::rwx
other::---
[root@ /htdocs/css]# ls -la
drwxrwx---+  2 webadmin  seo_users    512 Oct 21 17:22 ./
-rw-rw----+  1 webadmin  seo_users    786 Oct 24 11:34 default.css
-rw-rw----+  1 webadmin  seo_users  17903 Nov 10 13:52 master.css
[root@ /htdocs/css]# getfacl -d ./
#file:./
#owner:1010
#group:1050
user::rwx
user:www:r-x
group::rwx
mask::rwx
other::---
[root@ /htdocs/css]# getfacl ./master.css
#file:./master.css
#owner:1010
#group:1050
user::rw-
user:www:r-x            # effective: r--
group::rwx              # effective: rw-
mask::rw-
other::---
 


Здесь мы видим, что для папки css установлены системные права 770 (владелец:группа - webadmin:seo_users),
drwxrwx---+ - плюсик обозначает, что для объекта назначены ACLs.
Таким образом, пользователь, под которым выполняется апач (www) не имеет права доступа/чтения к папке css (с учетом того, что его нет в группе seo_users).
В нашем случае, использвание acl (user:www:r-x) указывает, что пользователь www может читать файлы из папки.

Поэтому стоит быть осторожным при использовании списков доступа - реальные права на файлы не видны при испльзовании команды ls, stat и подобных.


@author: surg30n
@date: Вторник, 05 Август 2008


Комментарии : 2


2] surg30n - 12:54, 11 Ноябрь, 2008
Дыру сделать может, также как и неправильное применение стандартных прав доступа. Использование acl подразумевает что файловая система смонтирована c их поддержкой (см. tunefs)
1] Гость - 02:26, 11 Ноябрь, 2008
чесно скажу, с ацл не работал, и в скрипте не разобрался, но поскольку привязка существует, то вопрос: нарушение привязки не сделает дыру в которую можно пролезть? (тоесть если предположим для групы из ацл писать можно, а из прав на файл нельзя, то Вы хотите сказать что права ацл должны разрушить систему прав доступа фрибзд? или перекрыть?)
Комментировать:




Код подтверждения: *
Введите подтверждающий код, так же как он отображен на картинке.
Надоело разбирать числа на картинке? Зарегистрируся, докажи что ты не робот!

@СКАЖИРЕКЛАМЕНЕТ@

Подбор сантехники по параметрам. Итальянская сантехника неповторимый. . электрошокер купить электрошокер