Knowledge Sharing - Want to participate in the discussion?
16 Apr
![]() |
Post Page Rank |
Any installation of Solaris loads many packages that are not needed for a server to function. However, even if you remove unneeded packages, there are several startup services which can be disabled. As part of your minimalization process, you want to reduce number of processes and services running on your server. Some of these unneeded services can pose a potential security risk. There are two main places to configure which services are active: the /etc/inetd.conf file and the /etc/rc.X/ directories.
inetd.conf
This file specifies which ports the inetd daemon will listen for. You eliminate uneccessary services by commenting them out. There are many web tutorials on configuring the inetd.conf file.
rcX.d services
/etc/rcX.d contains startup and shutdown scripts. (The startup scripts start with “S”, the shutdown with “K”. The standard recommendation is to rename the uppercase S to a lowercase one
The following table displays each of the Solaris Startup files, where they are placed, and which distribution and package they are part of. (I left out the “K” files for brevity. A list of resources which recommend which scripts can be disabled follows):
| rc directory |
filename | installed with package | package description | MetaCluster | comments |
| rcS.d | S10cvc | SUNWcvcr | Network Console daemon and rc script | SUNWCXall | For E10000? |
| S10initpcmcia | SUNWpcmci | PCMCIA Card Services, (Root) | SUNWCreq | Initialize pcmcia cards | |
| S15initpcihpc | SUNWcsr | Core Solaris, (Root) | SUNWCreq | ?? | |
| S30network.sh | SUNWcsr | Core Solaris, (Root) | SUNWCreq | start up networking; plumb each interface | |
| S30rootusr.sh | SUNWcsr | Core Solaris, (Root) | SUNWCreq | does configuration needed to mount /usr via nfs | |
| S33keymap.sh | SUNWcsr | Core Solaris, (Root) | SUNWCreq | loads keyboard mappings and initializes keyboard defaults | |
| S35cacheos.sh | SUNWcsr | Core Solaris, (Root) | SUNWCreq | configure devices before setting up cache disk | |
| S40standardmounts.sh | SUNWcsr | Core Solaris, (Root) | SUNWCreq | mount /usr, /usr/platform, etc | |
| S41cachefs.root | SUNWcsr | Core Solaris, (Root) | SUNWCreq | if root is cachefs file system, startup cachefsd | |
| S42coreadm | SUNWcsr | Core Solaris, (Root) | SUNWCreq | Restore the core file configuration that was in effect before reboot. | |
| S42ncakmod | SUNWncar | Solaris Network and Cache Accelerator(Root) | SUNWCall | ?? | |
| S50devfsadm | SUNWcsr | Core Solaris, (Root) | SUNWCreq | configure /dev directory | |
| S70buildmnttab.sh | SUNWcsr | Core Solaris, (Root) | SUNWCreq | mount file systems in mnttab | |
| S01MOUNTFSYS | SUNWcsr | Core Solaris, (Root) | SUNWCreq | Mount all local filesystems | |
| rc0.d? | S01MOUNTFSYS | ||||
| rc1.d? | S01MOUNTFSYS | ||||
|
rc2.d |
S01MOUNTFSYS | SUNWcsr | Core Solaris, (Root) | SUNWCreq | Mount all local filesystems |
| S05RMTMPFILES | SUNWcsr | Core Solaris, (Root) | SUNWCreq | remove files in /tmp and /var/tmp | |
| S20sysetup | SUNWcsr | Core Solaris, (Root) | SUNWCreq | print the system configuration upon startup | |
| S21perf | SUNWaccr | System Accounting, (Root) | SUNWCall | enable system activity data gathering | |
| S30sysid.net | SUNWadmr | System & Network Administration Root | SUNWCreq | configures basic network functions | |
| S40llc2 | SUNWllcr | LLC2 driver and its initialization programs | SUNWCuser | ?? | |
| S47asppp | SUNWapppr | PPP/IP Asynchronous PPP daemon configuration files | SUNWCall | start the PPP daemon | |
| S69inet | SUNWcsr | Core Solaris, (Root) | SUNWCreq | configure ip routing, the default route;domain name | |
| S70uucp | SUNWbnur | Networking UUCP Utilities | SUNWCall | clean up uucp lock files | |
| S71ldap.client | SUNWcsr | Core Solaris, (Root) | SUNWCreq | starts ldap_cachemgr | |
| S71rpc | SUNWcsr | Core Solaris, (Root) | SUNWCreq | start rpc | |
| S71sysid.sys | SUNWadmr | System & Network Administration Root | SUNWCreq | if /.UNCONFIGURED exists reconfigure the system | |
| S72autoinstall | SUNWadmr | System & Network Administration Root | SUNWCreq | if /.UNCONFIGURED exists reconfigure the system | |
| S72inetsvc | SUNWcsr | Core Solaris, (Root) | SUNWCreq | start inetd | |
| S72slpd | SUNWslpr | SLP, (Root) | SUNWCuser | ?? | |
| S73cachefs.daemon | SUNWcsr | Core Solaris, (Root) | SUNWCreq | starts up cachefs file systems | |
| S73nfs.client | SUNWcsr | Core Solaris, (Root) | SUNWCreq | start lockd and statd;mount remote file systems | |
| S74autofs | SUNWatfsr | System & Network Administration Root | SUNWCreq | start the automounter daemon | |
| S74syslog | SUNWcsr | Core Solaris, (Root) | SUNWCreq | start the system logger daemon | |
| S74xntpd | SUNWntpr | NTP, (Root) | SUNWCuser | startup network time protocol | |
| S75cron | SUNWcsr | Core Solaris, (Root) | SUNWCreq | start cron daemon | |
| S75flashprom | SUNWuxflr | Sun4u System FLASH PROM Update (?) | SUNWCXall | Install FLASH PROM Update for Sun4u Systems (?) | |
| S75savecore | SUNWcsr | Core Solaris, (Root) | SUNWCreq | save core | |
| S76nscd | SUNWcsr | Core Solaris, (Root) | SUNWCreq | start up the name service cache daemon | |
| S80lp | SUNWpsr | SunSoft Print - LP Server, (root) | SUNWCreq | start the line printer scheduler | |
| S80PRESERVE | SUNWcsr | save edit files in /usr/preserve | SUNWCuser | recovers data from unsaved vi sessions | |
| S80spc | SUNWpcr | SunSoft Print - Client, (root) | SUNWCuser | something to do with printing | |
| S85power | SUNWpmr | Power Management config file and rc script | SUNWCuser | power management | |
| S88sendmail | SUNWsndmr | Sendmail root | SUNWCreq | start sendmail | |
| S88utmpd | SUNWcsr | Core Solaris, (Root) | SUNWCreq | start up utmpd to clean up utmp entries | |
| S89bdconfig | SUNWdial | Buttons/Dials Streams Module | SUNWCall | ||
| S90wbem | SUNWwbcor | WBEM Services (root) | SUNWCuser | ?? | |
| S91afbinit | SUNWafbr | Elite3D Device Drivers and Pipelines | SUNWCXall | For systems with Elite3D Graphics(?) | |
| S91ifbinit | SUNWifbr | Sun Expert3D (IFB) Graphics System Software (Root) | SUNWCXall | For systems with Elite3D Graphics(?) | |
| S92volmgt | SUNWvolr | SUNWCuser | start the volume management daemon | ||
| S93cacheos.finish | SUNWcsr | Core Solaris, (Root) | SUNWCreq | ?? | |
| S94ncalogd | SUNWncar | Solaris Network and Cache Accelerator(Root)? | SUNWCall | ?? | |
| S95ncad | SUNWncar | Solaris Network and Cache Accelerator(Root)? | SUNWCall | ?? | |
| S99audit | SUNWcsr | Core Solaris, (Root) | SUNWCreq | starts up auditd | |
| S99dtlogin | SUNWdtlog | SUNWCuser | automatically start the CDE login window on the console | ||
|
rc3.d |
S15nfs.server | SUNWcsr | Core Solaris, (Root) | SUNWCreq | startup remote file sharing daemons |
| S50apache | SUNWapchr | Apache Web Server (root) | SUNWCall | startup http daemon | |
| S76snmpdx | SUNWsacom | Solstice Enterprise Agents 1.0.3 files for root file system | SUNWCuser | startup snmp | |
| S77dmi | SUNWsacom | Solstice Enterprise Agents 1.0.3 files for root file system | SUNWCuser | startup snmp | |
| S80mipagent | “SUNWmipmr(?) or SUNWmipa” |
Mobile IP mobility agent | SUNWCall? | x86 only? | |
| rc?.d | S10init1394 | SUNW1394h | IEEE 1394 Video Conferencing Support | SUNWCxall? | x86 Only? |
| rc?.d | S95picld | SUNWpiclr | sunfire and sunblade | SUNWCXall | Needed for thermal diagnostics? |
Notes:
Many of these scripts need to be disabled, some need to be modified, and a few need to be created.
Which ones can be disabled?
Unless you are absolutely sure, don’t delete a startup file, just disable it. There is a difference between deleting a file and preventing them from starting up…
If sure are sure you don’t need a file, then change its name or move it to a subdirectory called “disabled”:
mkdir /etc/rc1.d/disabled/
mkdir /etc/rc2.d/disabled/
mkdir /etc/rc3.d/disabled/
mv -f /etc/rc2.d/S*asppp /etc/rc2.d/disabled/
Leave a reply
You must be logged in to post a comment.