I’m using a variety of custom modules for my thecus nas n4200pro. The best thing is that most modules are compatible with the n5500 series, so taking those and installing on the n4200pro works in most cases.
First, install SYSUSER and SSHD module on the nas, and change the “sys” password immediately.
The default settings by this module will be adding a new user “sys” with home “/root/” and shell used “/bin/sh”. This is basically not what we want in the first place, so open
# vi /app/etc/passwd
and change the line looking like this
sys:x:0:0::/raid/data:/bin/bash
Then exit and relogin.
Now it’s time to customize our profile using .bash*
# echo "source ~/.bashrc" >> /raid/data/.bash_profile
# vi /raid/data/.bash_logout # ~/.bash_logout: executed by bash(1) when login shell exits. # when leaving the console clear the screen to increase privacy if [ "$SHLVL" = 1 ]; then [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q fi
# vi /raid/data/.bashrc # ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples # If not running interactively, don't do anything [ -z "$PS1" ] && return # don't put duplicate lines in the history. See bash(1) for more options # don't overwrite GNU Midnight Commander's setting of `ignorespace'. HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups # ... or force ignoredups and ignorespace HISTCONTROL=ignoreboth # append to the history file, don't overwrite it shopt -s histappend # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize # set variable identifying the chroot you work in (used in the prompt below) if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; esac # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt #force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would tend to support setf rather than setaf.) color_prompt=yes else color_prompt= fi fi if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}[ 33[01;32m]u@h[ 33[00m]:[ 33[01;34m]w[ 33[00m]$ ' else PS1='${debian_chroot:+($debian_chroot)}u@h:w$ ' fi unset color_prompt force_color_prompt # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PS1="[e]0;${debian_chroot:+($debian_chroot)}u@h: wa]$PS1" ;; *) ;; esac # enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' #alias grep='grep --color=auto' #alias fgrep='fgrep --color=auto' #alias egrep='egrep --color=auto' fi # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). if [ -f /etc/bash_completion ] && ! shopt -oq posix; then . /etc/bash_completion fi # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). if [ -f /etc/bash_completion ] && ! shopt -oq posix; then . /etc/bash_completion fi # COLOR PROMPTS FOR FOUI - FAST OPTICAL USER IDENTIFICATION # ========================================================= if [ `/usr/bin/whoami` = 'root' ] then export XFOUND_ROOT_USER='YES' # Do not set PS1 for dumb terminals if [ "$TERM" != 'dumb' ] && [ -n "$BASH" ] then export PS1='[ 33[01;31m]h [ 33[01;34m]w $ [ 33[00m]' fi else export XFOUND_NORMAL_USER='YES' # Do not set PS1 for dumb terminals if [ "$TERM" != 'dumb' ] && [ -n "$BASH" ] then export PS1='[ 33[01;32m]u@h [ 33[01;34m]w $ [ 33[00m]' fi fi
To verify that your settings are not overwritten you should reboot the nas once.