Posts Tagged Synology

Synology Antivirus Essential detects PHP.Exploit.CVE_2015_2331-3

Today my DiskStation emailed me about detecting malware in the system files. When I looked at the log, I saw this:

Antivirus Essential detects Php.Exploit.CVE_2015_2331-3 in zip

Antivirus Essential detects Php.Exploit.CVE_2015_2331-3 in zip

It appears this is a false positive in the ClamAV database.

Further reading: https://www.clamxav.com/BB/viewtopic.php?f=1&t=4186&hilit=php.exploit

If your Synology reports the same, simply restore the quarantined file, update virus definitions, and re-scan. It should come up clean. If you had configured Antivirus Essential to automatically delete files, you may have to restore the DSM OS to get the file back.

,

Leave a comment

Plex Media Server not starting on boot on Synology NAS

My Synology NAS would not successfully start Plex Media Server at bootup. I had to go into Package Center after each boot and run it manually.

I reached out to the Plex forums and didn’t get much help. I did eventaully find a fix.

I assumed that the script was failing on boot as it was waiting for some not-yet-ready resource, and would only run after the whatever-resource was ready. It just needed more time to be ready.

copy the “/var/packages/Plex Media Server/scripts/start-stop-status” file somewhere else on your NAS where you can edit it, and make the following edit:

   ...
start_plex ()
{
+  sleep 7
PLEX_PATH=$(/usr/syno/sbin/synoshare --get Plex | grep Path | awk -F[ '{print $2}' | awk -F] '{print $1}')
...

Save the file, and then copy it back to it’s original location. Reboot.

Plex Media Server should now run on boot successfully.

,

Leave a comment

ACL fix for Synology DiskStations

A reader got in touch with me regarding my previous post, Quick sh script cronjob to fix user homes permissions on Synology. That script was initially intended to fix user homes file ownership, but this reader shared a script that uses the synoacltool to fix the Access Control List on directories.

A few thoughts regarding this script:

First, it was mentioned that these issues may be fixed in the latest DSM release. If you’re still experiencing file ownership and permissions issues, please feel free to use the solution linked to above or posted below.

Second, the script linked to above and the script below take different approaches on the problem. You may find a solution in one, or you may elect to use both.

Third, it was mentioned that this was a “one and done” solution. Due to the changing nature of filesystem content, I don’t believe that to be the case. You may want to save this as a sh script and run it as a scheduled task, or you may want it to run on every boot up. If you decide you want to run it on every boot, edit (or create) the file /etc/rc.local, and paste the below. I can’t say for certain whether this script is preserved on an upgrade, though this page strongly suggests that it would be preserved.

I don’t have a Synology unit right now to test this on, so I can’t offer any insight other than what I’ve shared above.

Here’s the script:

#!/bin/sh
synouser --enum all > user.list
sed -i 's/\\/\\\\/g' user.list
cat user.list | while read line
do
echo -n "$line: "
USERDIR=`synouser --get "$line" | grep "User Dir"`
if [ $? != 0 ]; then
echo "user: [$line] not found"
continue
fi
HOMEPATH=`echo "$USERDIR" | cut -d'[' -f2 | cut -d']' -f1`
synoacltool -get-archive "$HOMEPATH" | grep is_support_ACL > /dev/null 2>&1
if [ $? != 0 ]; then
echo "[$HOMEPATH] not support ACL or not exist"
continue
fi
synoacltool -get "$HOMEPATH" | grep -F "user:$line:allow:rwxpdDaARWcCo:fd--" > /dev/null 2>&1
if [ $? = 0 ]; then
echo "[$HOMEPATH] exist user's Full Control ACL"
continue
fi
synoacltool -add "$HOMEPATH" "user:$line:allow:rwxpdDaARWcCo:fd--"
done
rm user.list

Any feedback is welcome and appreciated. Thank you!

Leave a comment

My new home NAS: HP ProLiant MicroServer N40L running FreeNAS 8

I recently bought an HP ProLiant MicroServer for my new home NAS. My previous NAS was a Synology DS211j, and it performed very well, up until recently. My two biggest reasons for replacing it were:

1) It would randomly drop off the network. The LAN led would flash rapidly, but there was no activity on the switch port. It was also unpingable. This means the NIC was probably failing, and the unit would need to be replaced.

2) Synology had the idea to force MyDS registration in DSM 4.2 BETA. This meant I wasn’t getting another Synology if I could help it.

After some searching, I happened on the HP ProLiant MicroServer for the physical unit, and after a couple days of thought and planning, FreeNAS 8 BETA 3 for the OS.

Now, as my luck would have it, the first time I removed the motherboard from the chassis, I knocked a jumper cap off the board, which resulted in the unit not POSTing. A little intuition helped me find the right spot to replace it to. Here’s photos of the jumper locations in case anyone else shares my bad luck:

I installed a 4GB USB stick in the motherboard’s USB header with FreeNAS installed on it, and am using 2TB drives in slots 1-3 in RAID-Z1, and a 250GB 7200RPM drive in slot 4 for ZIL. In case you want to argue why I should be using an SSD instead of a conventional hard drive, you’re welcome to buy me one, but you might want to read this post first.

So that’s that. I’m sure you’ll be seeing more posts on FreeNAS and my NAS setup in general in the future.

Have any questions or comments about the above? Please share them in the comments section below. Thank you!

, , , ,

Leave a comment

Bash script to send contents of file containing URLs to Synology Download Station via API

This bash script will read a file containing a list of URLs line-by-line and send each of those URLs to a Synology DiskStation’s Download Manager via the published API.

Read the comments.

Note that, in user land, it might be easier to simply upload the text file to the Download Station. The below is useful if you want to programatically pass download tasks to Download Station, such as on the update of a web page, etc, etc.

UPDATE: This has been moved to github, here.

If you have any questions or comments on this script, please feel free to comment below. Thank you!

, , ,

Leave a comment

How to move the SymformContribution directory from one volume to another on a Synology NAS

So you’ve got Symform all set up and running on your Synology NAS, and you’ve been contributing space, but now the volume that has your contribution folder is getting full, adn you’d like to move it without disrupting the data that other Symform users like yourself have trusted you with. How to do it? Easily.

In this example, I’ll show you how to move it from volume1 to volume2.

First, stop the Symform service from Package Center.

Next, SSH into your Synology box and move the target directory to it’s new location, in this case, /volume2/SymformContribution

mv /volume1/SymformContribution/ /volume2

Next, edit the /volume1/@symform/lib/node.config file using vi and update the location by finding the line similiar to the following…


… and changing volume1 to volume2.

(Note, this is the same file that’s used to update the incoming port, see this post for more information.)

Save the file, and restart the Symform service.

That’s it!

Questions or comments are welcome in the comments section below. Thank you for reading!

, , , , , ,

Leave a comment

Controlling fan speed and hard drive APM settings on Synology DiskStation

There is a file in /usr/syno/etc/scemd.xml which controls the fan speeds and trigger temperatures corresponding to the setting at Control Panel > Power, as well as drive APM settings (for hard drive head parking issues. More information for this issue can be found by reading this post). Feel free to edit the file to your needs, but remember that settings may not be preserved during DSM updates.

On my DS211j running DSM 4.1-2668 the file contains the following:

<?xml version="1.0" encoding="UTF-8"?>
<scemd>
 <fan_config period="20" threshold="6" type="DUAL_MODE_HIGH" hibernation_speed="STOP">
 <disk_temperature fan_speed="ULTRA_LOW" action="NONE">0</disk_temperature>
 <disk_temperature fan_speed="VERY_LOW" action="NONE">52</disk_temperature>
 <disk_temperature fan_speed="LOW" action="NONE">54</disk_temperature>
 <disk_temperature fan_speed="ULTRA_HIGH" action="NONE">58</disk_temperature>
 <disk_temperature fan_speed="FULL" action="SHUTDOWN">61</disk_temperature>
 </fan_config>
 <fan_config period="20" threshold="6" type="DUAL_MODE_LOW" hibernation_speed="STOP">
 <disk_temperature fan_speed="STOP" action="NONE">0</disk_temperature>
 <disk_temperature fan_speed="ULTRA_LOW" action="NONE">40</disk_temperature>
 <disk_temperature fan_speed="VERY_LOW" action="NONE">52</disk_temperature>
 <disk_temperature fan_speed="LOW" action="NONE">54</disk_temperature>
 <disk_temperature fan_speed="ULTRA_HIGH" action="NONE">58</disk_temperature>
 <disk_temperature fan_speed="FULL" action="SHUTDOWN">61</disk_temperature>
 </fan_config>

<fan_config hw_version="Synology-DX5" period="20" threshold="6" type="DUAL_MODE_HIGH_EBOX" hibernation_speed="UNKNOWN">
 <disk_temperature fan_speed="FULL" action="NONE">0</disk_temperature>
 <disk_temperature fan_speed="FULL" action="NONE">45</disk_temperature>
 <disk_temperature fan_speed="FULL" action="NONE">55</disk_temperature>
 <disk_temperature fan_speed="FULL" action="SHUTDOWN">61</disk_temperature>
</fan_config>

<fan_config hw_version="Synology-DX5" period="20" threshold="6" type="DUAL_MODE_LOW_EBOX" hibernation_speed="UNKNOWN">
 <disk_temperature fan_speed="FULL" action="NONE">0</disk_temperature>
 <disk_temperature fan_speed="FULL" action="NONE">45</disk_temperature>
 <disk_temperature fan_speed="FULL" action="NONE">55</disk_temperature>
 <disk_temperature fan_speed="FULL" action="SHUTDOWN">61</disk_temperature>
</fan_config>

<fan_config hw_version="Synology-DX510" period="20" threshold="6" type="DUAL_MODE_HIGH_EBOX" hibernation_speed="LOW">
 <disk_temperature fan_speed="MIDDLE" action="NONE">0</disk_temperature>
 <disk_temperature fan_speed="HIGH" action="NONE">48</disk_temperature>
 <disk_temperature fan_speed="FULL" action="SHUTDOWN">61</disk_temperature>
</fan_config>

<fan_config hw_version="Synology-DX510" period="20" threshold="6" type="DUAL_MODE_LOW_EBOX" hibernation_speed="LOW">
 <disk_temperature fan_speed="MIDDLE" action="NONE">0</disk_temperature>
 <disk_temperature fan_speed="HIGH" action="NONE">48</disk_temperature>
 <disk_temperature fan_speed="FULL" action="SHUTDOWN">61</disk_temperature>
</fan_config>
<disk_control>
 <disk model="ST9120821A">APM_255</disk>
 <disk model="HTS722020K9SA00">APM_255</disk>
 <disk model="ST980811AS">APM_255</disk>
 <disk model="MHV2060BH">APM_255</disk>
 <disk model="MK6034GSX">APM_254</disk>
 <disk model="ST9100824AS">APM_255</disk>
 <disk model="HM250JI">APM_255</disk>
 <disk model="MK1637GSX">APM_254</disk>
 <disk model="ST9100824AS">APM_255</disk>
 <disk model="ST9120822AS">APM_254</disk>
 <disk model="ST9160821AS">APM_254</disk>
 <disk model="WD2500BEVS-75UST0">APM_254</disk>
 <disk model="HM250JI">APM_254</disk>
 <disk model="WD2500BEVS">APM_254</disk>
 <disk model="WD1600BEVT">APM_255</disk>
 <disk model="HTS543232L9A300">APM_255</disk>
 <disk model="WD1600BEVE">APM_255</disk>
 <disk model="MK2546GSX">APM_254</disk>
 <disk model="MHV2080BHPL">APM_255</disk>
 <disk model="WD1200BEVE">APM_255</disk>
 <disk model="HTS543225L9A300">APM_255</disk>
 <disk model="WD3200BEVT">APM_254</disk>
 <disk model="MK8025GAS">APM_254</disk>
 <disk model="ST9200420AS">APM_254</disk>
 <disk model="WD3200BEVT">APM_254</disk>
 <disk model="HTS543216L9SA00">APM_254</disk>
 <disk model="MK4058GSX">APM_254</disk>
 <disk model="WD6400BEVT">APM_254</disk>
 <disk model="ST32000542AS">APM_255</disk>
 <disk model="ST95005620AS">APM_255</disk>
</disk_control>

</scemd>

, , , , ,

Leave a comment

Disable and remove .DS_Store files stored on network locations

So today I was going through my Synology NAS and noticed .DS_Store files all over the place.

These are actually files containing extended attributes created by Finder in Mac OS X. But, since they get written out to network locations, they can cause backup and versionining issues.

To disable them from being created on network locations, open a Terminal and run the following

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

(Note: This only affects the currently-logged-in user)

Now in my case, I had these files all over my Synology NAS, so I was able to easily get rid of them by SSHing into the box and running the following:

find / -name .DS_Store -delete

And… done.

, , , , ,

Leave a comment

Disable indexing and generation of @eaDir directories on Synology NAS

Various forums throughout the Internet have users stating that even though they’ve disabled media indexing the @eaDir folders are still being generated, and even outside the indexed folders.

In order to completely stop the generation of @eaDir folders, it’s necessary to disable the services that are generating them.

Note that after a DSM update, these services may be re-enabled.

To disable these services, log in to your Synology NAS via SSH, then do the following:

cd /usr/syno/etc.defaults/rc.d/
chmod 000 S66fileindexd.sh S66synoindexd.sh S77synomkthumbd.sh S88synomkflvd.sh S99iTunes.sh

After disabling the services, you may want to delete all the created @eaDir directories.

Any feedback on the above is welcome, please leave it in the comments section below. Thank you!

, , , ,

Leave a comment

Getting rid of the @eaDir folders on Synology NAS DSM

The @eaDir directories contain extended attributes and thumbnails that take up quite a bit of space, not unlike Windows Thumbs.db files.

Here’s how to get rid of them easily from the command line.

First, SSH into your Synology NAS box and log in as root, then type this to locate the @eaDir folders:

find . -name "@eaDir" -type d | more

If you’re happy you’re not going to accidentally delete something important, then make it happen:

find . -name "@eaDir" -type d -print0 | xargs -0 rm -rf

Note that after deleting the directories, you may also want to disable the services that created them.

Do you have any feedback on the above? Please leave it in the comments section below. Thank you!

, , , ,

Leave a comment