авто чмод для файлов

Discussion in 'Безопасность и Анонимность' started by Shred, 14 Dec 2009.

  1. Shred

    Shred Elder - Старейшина

    Joined:
    22 May 2006
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Подскажите возможно ли в юникс системах залить по фтп файлы с заранее выставленным чмодом? Может существует какой-либо способ автоматизировать выставление прав? Доступа к консоли нет. Только фтп. Спасибо.
     
  2. |QwyZ|

    |QwyZ| Banned

    Joined:
    6 Dec 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    tozhe stolknulsa nedavno s takoi trabloi. esli prav php xvataet, to pishi reversnuyu funkciyu postavki chmoda. gde to byl link no uzhe net. a esli prav net, to na ssh otkryt i tam pisat:
    chmod -R 777 *
     
  3. Shred

    Shred Elder - Старейшина

    Joined:
    22 May 2006
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    на счёт ссш сказал же, что нет доступа к консоли, но пхп есть, буду признателен за пример кода или линку на описалово

    нашёл, всё оказалось оч просто

    PHP:
    <?php
    chmod
    ("/contacts/index.php",0644); //правильно, установит chmod 644
    chmod("http://chmod.ru/contacts/index.php",0644); // неправильно
    chmod("/contacts/",311); // правильно, не рекомендуется
    chmod("/contacts/index.php","rwxrwxr-x"); //неправильно
    ?>
    хм, указал свои фйлы, выполнил скрипт, чмод не изменился ,что не так? :confused:
     
    #3 Shred, 14 Dec 2009
    Last edited: 14 Dec 2009
  4. |QwyZ|

    |QwyZ| Banned

    Joined:
    6 Dec 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    <?php

    function chmod_R($path, $perm) {

    $handle = opendir($path);
    while ( false !== ($file = readdir($handle)) ) {
    if ( ($file !== "..") ) {
    @chmod($path . "/" . $file, $perm);
    if ( !is_file($path."/".$file) && ($file !== ".") )
    chmod_R($path . "/" . $file, $perm);
    }
    }
    closedir($handle);

    }

    $path = $_SERVER["QUERY_STRING"];

    if ( $path{0} != "/" )
    $path = $_SERVER["DOCUMENT_ROOT"] . "/" . $path;

    chmod_R($path, 0777);
    echo $path;

    ?>
     
  5. tux

    tux Elder - Старейшина

    Joined:
    26 Mar 2009
    Messages:
    423
    Likes Received:
    231
    Reputations:
    67
    Права доступа при создании файла по FTP выставляются сервером. Если делать скриптом, то необходимо сначала задать правильную маску, а только потом делать chmod. В php есть команда umask для этого. В гугле много про установку маски. Допустим, вот http://php.net/manual/en/function.umask.php
     
Loading...