Solaris System Files
This files_system_solaris_objects.cfg example specifies important Solaris system files, together with their desired ownerships and permissions. This files_system_solaris_objects.cfg file is #include'd by the parent files_system_objects.cfg file.
///////////////////////////////////////////////////////////////////////////////
//
// files_system_solaris_objects.cfg
//
///////////////////////////////////////////////////////////////////////////////
#if solaris
/kernel/genunix -rwxr-xr-x 755 0 3 root sys
/etc/system -rw-r--r-- 644 0 3 root sys
/etc/mail/aliases -rw-r--r-- 644 0 2 root bin
# if ! ( cologne )
/etc/auto_direct -rw-r--r-- 644 0 2 root bin
# endif
/etc/auto_home -rw-r--r-- 644 0 2 root bin
/etc/auto_master -rw-r--r-- 644 0 2 root bin
# if ! cologne
/etc/defaultdomain -rw-r--r-- 644 0 0 root root
# endif
/etc/defaultrouter -rw-r--r-- 644 0 0 root root
/etc/dfs/dfstab -rw-r--r-- 644 0 3 root sys
/etc/group -rw-r--r-- 644 0 3 root sys
/etc/hosts lrwxrwxrwx 777 0 0 root root
# if mus | comp | perf
/etc/hosts.equiv -rw-r--r-- 644 0 1 root other
# endif
/etc/inet/hosts -r--r--r-- 444 0 3 root sys
/etc/inittab -rw-rw-r-- 644 0 3 root sys
/etc/inetd.conf lrwxrwxrwx 777 0 0 root root
/etc/inet/inetd.conf -r--r--r-- 444 0 3 root sys
/etc/magic -r--r--r-- 444 0 2 root bin
#if solaris28
/etc/mnttab -r--r--r-- 444 0 0 root root
#else
/etc/mnttab -rw-r--r-- 644 0 0 root root
#endif
/etc/netmasks lrwxrwxrwx 777 0 0 root root
/etc/inet/netmasks -r--r--r-- 444 0 3 root sys
/etc/networks lrwxrwxrwx 777 0 0 root root
/etc/inet/networks -r--r--r-- 444 0 3 root sys
/etc/nsswitch.conf -rw-r--r-- 644 0 3 root sys
# if ntpd
/etc/ntp.conf -rw-r--r-- 644 0 1 root other
# endif
/etc/passwd -rw-r--r-- 644 0 3 root sys
/etc/protocols lrwxrwxrwx 777 0 0 root root
/etc/inet/protocols -r--r--r-- 444 0 3 root sys
/etc/resolv.conf -rw-r--r-- 644 0 1 root other
/etc/rpc -rw-r--r-- 644 0 3 root sys
# if ! nosendmail
/etc/sendmail.cf lrwxrwxrwx 777 0 1 root other
# endif
/etc/mail/sendmail.cf -r--r--r-- 444 0 2 root bin
/etc/services lrwxrwxrwx 777 0 0 root root
/etc/inet/services -r--r--r-- 444 0 3 root sys
/etc/shadow -r-------- 400 0 3 root sys
/etc/shells -rw-r--r-- 644 0 1 root other
/etc/syslog.conf -rw-r--r-- 644 0 3 root sys
/etc/termcap lrwxrwxrwx 777 0 0 root root
/usr/share/lib/termcap -rw-r--r-- 644 0 2 root bin
/etc/ttydefs -rw-r--r-- 644 0 3 root sys
/etc/vfstab -rw-r--r-- 644 0 3 root sys
// to fix a buffer-overflow vulnerability:
/usr/sbin/format -r-x------ 500 0 2 root bin
[...]
#endif // solaris
///////////////////////////////////////////////////////////////////////////////
This example files_system_solaris_objects.cfg file incorporates elaborate per-machine customizations by way of PIKT '#if ... #endif' directives. Contrast this hand-coded approach with the automated approach of using the mkdirlist.pl script to autogenerate system file lists, as in files_system_redhat_linux_objects.cfg and files_system_suse_linux_objects.cfg.
On the piktmaster system, we would install the FilesSystem.obj file to each PIKT Solaris system with the command:
# piktc -iv +O FilesSystem +H solaris [or: ... -H down]
For more examples, see Samples.