DSM

出自福留子孫
在2020年7月28日 (二) 16:53由丁志仁對話 | 貢獻所做的修訂版本

跳轉到: 導覽搜尋

資料與資源

  1. DSM官方線上說明文件
  2. SRM官方線上說明文件

登入及修改

root 密碼

Telnet/SSH 的 root 密碼:

  • DSM 5.2 及更早版本:登入帳號 root 的密碼與 admin 帳號相同。密碼欄不可空白。
  • DSM 6.0 及更新版本:於命令列介面上使用屬於 Administrators 群組中的任一帳號密碼登入 DSM,並執行 sudo -i 指令來切換至 root 存取。

時區

DSM 6.0 在更新至 PHP 5.6 版之後,會出現:

Warning: getdate(): It is not safe to rely on the system's timezone settings. 
You are *required* to use the date.timezone setting or the date_default_timezone_set() function. 
In case you used any of those methods and you are still getting this warning, 
you most likely misspelled the timezone identifier. 
We selected the timezone 'UTC' for now, 
but please set date.timezone to select your timezone.

解決之道有二:

  1. php.ini 中設「date.timezone = "Asia/Taipei"」
  2. 或在 php 程式中設「date_default_timezone_set('Asia/Taipei');」

PHP相關設定

問題一

問題: 文件根目錄下 PHP 的 socket 可執行,但在家目錄下的 socket 無法執行,會出現:

Fatal error: Call to undefined function socket_create() in /volume1/homes/丁志仁/www/php/socket.php on line 3

原因: /etc/php/conf.d/extensions.ini 的權限因為不明原因權限被改為 600 ,導致 suphp 沒辦法讀取,因而無法載入裏面的設定。

解決之道:將其權限還原回644,

問題二

問題: 瀏覽打開 session 的網頁會出現: 「Warning: Unknown: open(/var/services/tmp/sess_t0h9k9pamph8mucedc0g3s04h4, O_RDWR) failed: Permission denied (13) in Unknown on line 0 Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/services/tmp) in Unknown on line 0」

由於 session 無法讀取,所以網站登入驗證功能失靈,變成無法成功登入。

原因: 先前執行某帳號 家目錄下的 php 時,產生的 session 儲存檔 owner 是哪個帳號,不是 http ,由於 瀏覽器沒重開 session id 就不會更新,導致 web 下的 php 無權讀取, owner 改成 http 就正常了。

解決之道: 將 session 儲存檔的 owner 改成 http 就正常了。

問題三

問題: 突然絕大多數的 php 無法執行,出現「Restricted access」。

原因: etable.php 載入 formelementtray.php ,而其中有:

defined('XOOPS_ROOT_PATH') or die('Restricted access');

解決之道: 註解掉此行即可。

問題四

問題: DSM6 即使資料夾屬性是 777 ,只要所有者不是 http ,即無法在其下以 php 中以 fopen 來建立檔案,無法以 mkdir 來建立資料夾,會出現 Permission denied 。

有用的解決方法:

  1. web 之下 web_images 資料夾所有者是 http ,並且可以在其之下以 php 中以 fopen 來建立檔案,以 mkdir 來建立資料夾。
  2. 在 web_images 寫一支 php 在其中以 mkdir 指令如 mkdir('printOut'); 來建資料夾,其所有者會是 http ,且其下可以用 php 執行 fopen 來建立檔案。
  3. 調整 print.php 中的 $printOutPath='web_images/printOut'; 即可成功。

無效的解決方法:

  1. 以 root 權限執行 /usr/bin/chown 和 /usr/bin/chgrp 將資料夾的所有者和群組改成 http 成功,但仍不能在其下以 php 中以 fopen 來建立檔案,仍然 Permission denied 。
  2. 在 web 下以 php 下 mkdir('○○○'); 試著在 web 下建一個所有者是 http 的資料夾也 Permission denied 。
  3. 在 web_images 下用 php 執行 mkdir('../○○○'); 試著在 web 下建一個所有者是 http 的資料夾也 Permission denied 。

控制台

一、檔案分享

(一)檔案服務

  • FTP
    連線限制
    限制每個 IP 來源最大連線數目:可以不設;或設 2~10 個連線數
    啟動 FTP 傳輸速度限制:可以不設;也可以設定每個連線的上傳及下載速度

Synology Drive