Автоматический CHMOD

Статус
В этой теме нельзя размещать новые ответы.

kauh

Создатель
Регистрация
12 Мар 2007
Сообщения
43
Реакции
76
Недавно сталкнулся с такой проблемой: на серваке дохренища файлов и папок, права доступа у всех разные.
в фтп менеджере задолбаешься сам выставлять нужные права. надо чтобы какой нить скрипт или программа автоматически поставила в нужной директории разные права доступа для файлов и папок(они должны быть разные). Проблема в том что нет доступа по ssh!
Может кто посоветует какой скрипт или программу для этого! а то уже горю по срокам, надо быстрее делать, а ручками это не реально!!!
на серваке крутиться freebsd
 
  • Нравится
Реакции: kauh
вообще-то
chmod -R 0755 folder
сделает все рекурсивно
 
Только главное не переусердствовать с правами - ИМХО все-таки лучше ручками и только там где нужно, совсем не везде нужно ставить 755.
 
admLoki, senks :)
а так будет работать? А как отдельно сделать для папок?
Для файлов вроде как в коде внизу, а вот как права для папок поставить отдельно?
Код:
<?php
$file_name= "*";
$path = "/var/www/html/test/" . $file_name ;
$chmod = shell_exec("chmod 0755");;
chown($path, $chmod);
?>
 
php.net/chmod
php.net/chown
про chown думаю можно забыть, никто вам не даст менять владельца
 
admLoki, senks :)
а так будет работать? А как отдельно сделать для папок?
Для файлов вроде как в коде внизу, а вот как права для папок поставить отдельно?
Код:
<?php
$file_name= "*";
$path = "/var/www/html/test/" . $file_name ;
$chmod = shell_exec("chmod 0755");;
chown($path, $chmod);
?>

Неа не будет работать. Вот так будет
Код:
<?php
$file_name= "*";
$path = "/var/www/html/test/" . $file_name ;
chmod($path, 0755");
$owner = 'vasya';
chown($path, $owner);
?>

Если нужно рекурсивно, для файлов
shell_exec("find /path/to/dir -type f -exec chmod 0755 '{}' \;");

для подкаталогов
shell_exec("find /path/to/dir -type d -exec chmod 0755 '{}' \;");
 
  • Нравится
Реакции: kauh
товаресчи красавчеги нашел еще одно решение своей проблемы. это FlashFXP, там мона отдельно ставить права как для папок так и для файлов!
Фсем спосиба :yahoo:
 
Могу предложить еще один вариант.
Создаешь файлик script.sh
Код:
#!/bin/sh
echo Changing perms to system sites:
BASEDIR="/home/www"
SITES="main-site main-ssl-site ts-site"
chown pseudo:www-data $BASEDIR
chmod 750 $BASEDIR

for SITE in $SITES; do
HOMEDIR=$BASEDIR/$SITE

echo "$HOMEDIR"
chown pseudo:www-data $HOMEDIR
chmod 750 $HOMEDIR

echo "$HOMEDIR/htdocs"
chown pseudo:staff $HOMEDIR/htdocs
chmod 775 $HOMEDIR/htdocs

echo "$HOMEDIR/log"
chown pseudo:www-data $HOMEDIR/log
chmod 755 $HOMEDIR/log

done;
Тут только для папок но при желании можно подредактировать и для файлов.
 
  • Нравится
Реакции: kauh
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху