function check_readwrite($_mnt, &$Status)
{
$t = "Checking to see if we can write to the queue...<br>";
$retval = @copy("/etc/fstab",$_mnt . "testfile.part");
if($retval == 1)
{
$t .= "<font color='blue'>Copying of test file to queue succeeded.</font><br><br>";
} else {
$errors= error_get_last();
$t .= "COPY ERROR TYPE: ".$errors['type'] . "<br>";
$t .= " ERROR MESSAGE: ".$errors['message'] . "<br>";
$t .= "<font color='red'>Failed to copy test file to this queue.</font><br><br>";
$Status = 0;
}
$t .= "Checking to see if we can delete from the queue...<br>";
$retval = @unlink($_mnt . "testfile.part");
if($retval == 1)
{
$t .= "<font color='blue'>Deleting of test file from queue succeeded.</font><br><br>";
$Status = 1;
} else {
$t .= "<font color='red'>Failed to delete test file from this queue.</font><br><br>";
$Status = 0;
}
return $t;
}
Показанная выше функция check_readwrite успешно работает в Red Hat 5, но не работает в Red Hat 7 с
сообщение об ошибке «Отказано в доступе» показано ниже. При выполнении функции файл testfile.part отображается на
удаленный хост Samba, но размер файла равен 0. Разъединение для удаления файла работает успешно.
ЛОКАЛЬНЫЙ ХОСТ: Red Hat Enterprise Linux Server версии 7.2 (Maipo) с php 7
———- доля самбы ———-> НАЧАТЬ
drwxrwxrwx 2 faciledi faciledi 0 авг. 11 14:35 10.231.250.147_smbinput
drwxrwxrwx 2 faciledi faciledi 0 авг. 10 16:50 10.231.250.147_smboutput
lrwxrwxrwx 1 apache apache 51 авг 11 14:34 smbinput -> /usr/local/queues/10.231.250.147_smbinput//
lrwxrwxrwx 1 apache apache 52 авг 10 16:42 smboutput -> /usr/local/queues/10.231.250.147_smboutput//
———- доля самбы ———-> КОНЕЦ
Ручное копирование тестового файла в локальный общий каталог хоста samba:
sudo -u apache cp /etc/fstab /usr/local/queues/smbinput/testfile.part
sudo -u faciledi cp /etc/fstab /usr/local/queues/smbinput/testfile.part
SAMBA REMOTE HOST: файл fstab успешно скопирован на удаленный хост, выполнив описанные выше шаги вручную
/usr/local/smbinput/testfile.part
———- Вывод функции check_readwrite ———-> НАЧАЛО
Проверка, можем ли мы написать в очередь …
COPY ERROR TYPE: 2
СООБЩЕНИЕ ОБ ОШИБКЕ: копия (/usr/local/queues/smbinput/testfile.part): не удалось открыть поток: отказано в разрешении
Не удалось скопировать тестовый файл в эту очередь.
Проверка, можем ли мы удалить из очереди …
Удаление тестового файла из очереди выполнено успешно.
———- Вывод функции check_readwrite ———-> END
Задача ещё не решена.
Других решений пока нет …