System Administration Duties - Virginia Alliance for Secure

advertisement
Principles of Unix System
Management - Solaris 8
Randy Marchany
VA Tech Computing Center
Blacksburg, VA 24060
540-231-9523
email: randy.marchany@vt.edu
va-scan
Copyright 1999, Marchany
System Administration Duties
1. Installing System Patches
2. Making System Checklists
3. Editing system configuration files
4. Keeping track of SUID/SGID programs
5. Recording device file permissions
6. Keep track of world, group writable files, directories
7. Record encrypted checksum of all system binaries
8. Verify password strength for system, user accounts
9. Expiring inactive accounts
10. Restrict root access to the system console
va-scan
Copyright 1999, Marchany
System Administration Duties
11. Allow no guest accounts, no multiple users/account, 1 user/account
12. Disable r-commands
13. Monitor NFS usage using nfsstat, nfswatch. Check /etc/exports
14. Monitor NIS system usage
15. Monitor modem file device permissions
16. Disable UUCP or verify the computer hangs up the phone correctly
17. Install the LATEST version of Sendmail (8.9.x)
18. Disable tftp services
19 Verify FTP client and server configurations
20. Setup an email alias for the FTP account
va-scan
Copyright 1999, Marchany
System Administration Duties
21. Set correct system-wide umask
22. Allow no .rhost, .netrc files
23. Verify backup/restore procedures
24. Check sticky bit file permissions
25. Check cron and at job files for completeness
26. Enable system accounting, system auditing functions
27. Check system-wide path definitions
28. Install tools: portsentry, logcheck, TCPWrappers, tripwire,lsof, CIS
Security Benchmark document
29. Check for IP forwarding in the kernel
30. Check X Windows security
va-scan
Copyright 1999, Marchany
SysAdmin Tricks/Hints
1. Get a good idea of what is normal activity on your system. Use
Unix performance command/scripts to monitor your system. Check
user login times to get a feel for what is normal activity for a user.
2. Obtain checklists at irregular intervals. Never do your monitoring at
regular intervals. Store the checklists offline.
3. Remember that 1 megabyte doesn't necessarily equal 1 megabyte.
gigabyte
gigabyte
Real math tells us 1Mb = 2**20= 1,048,576 bytes
1Gb = 2**30= 1,073,741,824 bytes BUT
to vendors, 1MB = 1,000,000 bytes and 1GB= 1,000,000,000 bytes.
So, you may not be missing space. A vendor 1Gb disk gives you
only 93.1% of expected capacity. Cute vendor trick!
va-scan
Copyright 1999, Marchany
SysAdmin Tricks/Hints
4. Monitor your disk space.
Why are we concerned?
Because hackers can hide data in hidden dirs and this is one way
to see if your usage totals add up.
5. System Things to Remember
- keep hard copy logs in a secure place with limited access.
Be able to account for their whereabouts EXACTLY.
- restrict root access
- Do your backups and checklists
- log internet activity by using TCP wrappers
- Keep accurate physical network/system maps/contact people
- Publicize problems AND solutions. Security through ignorance can
backfire on you.
- Educate your user community.
- Install all relevant security patches, OS revision patches asap.
- Limit physical access Copyright
to the machines
if possible.
va-scan
1999, Marchany
SysAdmin Tricks/Hints
6. Some free third party system management tools to get:
perl - language for scanning text files, extracting data from them and
formatting reports. Written by Larry Wall.
top - provides continuous, customizable display of system process
status. Written by Phil LeFebvre.
lsof - finds out who has open files on a FS that prevent you from
dismounting the FS.
nfswatch - dynamically charts NFS traffic on a host. Written by Dave
Curry.
tcpdump - packet monitoring program for displaying packets to/from
a system.
va-scan
Copyright 1999, Marchany
SysAdmin Tricks/Hints
More Tools (cont'd)
Tripwire - system auditing package that runs a series of checks for
basic system security. Written by Dan Farmer.
Crack - very powerful password cracking program that works on
Unix systems that don't have shadow password files.
Written by Alec Muffet.
7. Useful Unix commands
In addtion to commands like: find, ls, diff, last, lastcomm, ps, vmstat,
iostat, su and the above mentioned tools, the 'strings' command is
a useful tool to examine binary files for ascii strings.
va-scan
Copyright 1999, Marchany
Steps for Workstation
Configuration
- General steps to set up your workstation systems
1. MAIL - install correct versions of sendmail.cf on the server and clients.
The config files should reflect the mail environment at your site.
2. NIS - define the servers and clients. Do NOT make the NIS domain name
the same as your Internet domain name.
3. NFS - define the servers and clients.
4. Userids - Make sure all UID, GID values are unique across your ENTIRE
network. Use Kerberos for more secure control. Use PID for UID
value if possible. Require your users to get a PID first.
5. Encryption - Kerberize/ssh/PGP login, passwd, ftp, any application
programs. Define the Kerberos/SSH master, slave and client
machines.
6. NTP - install NTP daemon on all machines to synchronize system clocks.
va-scan
Copyright 1999, Marchany
Steps for Workstation
Configuration
7. Install TCP wrappers - decide on the level of monitoring/restriction that
is appropriate for your site.
8. SYSLOGS - modify syslog.conf files on machines to log what you want and
route the logs to some central machine.
9. UNIX Software Consortiums - The CC maintains Unix software consortiums
(Site Licenses) that provide you with OS
and compilers for “free” to you. Check
www.cc.vt.edu for more information.
10. Printer configuration - Best to use HP network printers. Use the JetAdmin
utility (provided free by HP) to manage these
printers.
11. Third Party Software - install software in common areas.
12. License Software - install FLEXLM clients/server code.
va-scan
Copyright 1999, Marchany
High Level Checklist - I
1. Major Areas to consider
- System Checklist
- Superuser Access
- Login/password/user administration
- Monitoring suid/sgid programs
- System/User file/directory permissions
2. Hardware Inventory
- Record serial numbers of all systems, peripherals, network interfaces,
personnel access privileges.
- Bootable tapes/CD? A set for each system and where are they stored?
- Is an install server available? Where is it? Where is the boot server?
va-scan
Copyright 1999, Marchany
High Level Checklist - II
3. Software Inventory
- get kernel information
- list system software products that are installed on the system (pkginfo)
- list system configuration information (sysdef, prtconf, sysinfo)
- list machine name, node name, OS release, OS version (uname -a)
- list the machine architecture
- list all the hardware the OS thinks is connected to the system (prtconf, sysinfo)
- list NFS status
- list inet services available on each machine (/etc/inetd.conf)
- list host table entries (/etc/hosts)
- list nameserver entries (/etc/resolv.conf)
- list network status (netstat -a, netstat -nr)
- list user/group definitions (/etc/group)
- list passwd information (/etc/passwd, /etc/shadow)
- list shadow passwd information (/etc/shadow)
- search for /etc/hosts.equiv, /.rhosts, /etc/hosts.lpd
- determine what internet services are provided (/etc/inetd.conf, /etc/services)
va-scan
Copyright 1999, Marchany
High Level Checklist - III
- Software Inventory (cont'd)
- NFS/NIS subsystems - active? server? client? (ps -ef |grep nisd)
- what directories are exported? What directories are mounted? (/etc/dfs/dfstab)
which ones come up at boot? (/etc/vfstab)
- what systems are exporting directories (showmount -e)
- what is the NIS domain name? (domainname, /etc/domainname)
4. Superuser access
- list of users who have root access
- su command audited?
- crontab file permissions?
- can root login directly?
- where is the sulog?
- what users have root privileges?
va-scan
Copyright 1999, Marchany
High Level Checklist - IV
5. Login/password/user administration
- what are the default password characteristics? Length? TTL? (/etc/default/*)
- How do you handle initial passwords?
- review passwd, shadow passwd files
- NIS? If so, check master passwd file. This could defeat shadow passwd.
- Idle timeout feature enabled?
- what is the adduser procedure? audit trail?
- what is the removeuser procedure? audit trail? file removal? NIS db?
- is the system running Kerberos?
- when was the last login for a user?
6. SUID/SGID programs
- review all suid/sgid programs owned by root, daemon, bin or the groups
bin, kmem, mail.
- compare against initial checklist
- minimum permission: 511
- maintain updated list of ALL suid/sgid programs
va-scan
Copyright 1999, Marchany
High Level Checklist - V
6. System/user file/directory permissions
- system dir permissions should be minimum: 755
- system dirs used by root should be owned by root
- UUCP, cron table, syslogs, system source code should be closed
to general users.
- monitor checksums for: login, su, passwd, cu, crypt, tip, rlogin
- check device file permissions for disk, tape, network, ttys. Check
device ownership
- search for hidden directories, check all hidden files (.files)
- find all writable directories
- check user home dirs for minimum permissions: 710. Check .login,
.profile permissions
- what is the default umask?
- what are default X setup commands?
- find all unowned files
- check all 'at' jobs owned by root and verify their function
- restrict r-command usage
va-scan
Copyright 1999, Marchany
High Level Checklist - VI
7. General Steps
- - check /etc/host minimum permission: 660
- Eliminate .netrc files
- verify active inetd services. Actively monitor or restrict rshd, rlogind,
tftpd, rlogin, rcp, rsh, tftp, trpt.
- use netstat -p tcp to check for failed network connections
- enable logging on ftp accesses (in addition to TCP wrappers)
- set permission of exported directories to be as limited as possible
- OS audit tools in place? what are the audit classes? where is the
audit log?
- create checklist of all files in the system on a periodic basis.
- monitor any attempt to change IFS in .profile or .login files
- use 'strings' command to check any suspicious files. Use it to check
dbms files.
- Are syslogs routed to a central machine? Are syslogs archived?
va-scan
Copyright 1999, Marchany
High Level Checklist - VII
- General Information (Cont'd)
- is NTP running on the machine? where are the config files?
- what are the Incident Response Team duties? who's on it?
- are NFS netgroups used? how are they organized? who maintains
them?
- NIS mail aliases? how often are they monitored?
va-scan
Copyright 1999, Marchany
Boot/Shutdown Overview

When to boot
– After installing new HW
– powerfail


Shutdown commands: init, shutdown
Servers
– Use shutdown command. It notifies users.

Systems
– Use init or shutdown to do a clean shutdown
va-scan
Copyright 1999, Marchany
Solaris 8 Installation I

Preparing to Install
– Determine System Type


OS Server - typically an NIS or NFS server
Standalone - has local disks (standard)
– Determine Required HW

32MB RAM, 500MB disk
– How much of Solaris do you want to install




va-scan
Core - min. software needed to run the OS
End User - Core+Openwindows
Developer - EndUser+lib, man pages.
Entire - the whole thing. Recommended.
Copyright 1999, Marchany

Solaris 8 Installation II
3 Types of Installation
– JumpStart - basic factory install. Not recommended because the
default partition sizes are too small.
– Interactive - You boot and configure the system. GUI menus
guide you thru the whole process. Recommended .
– Custom JumpStart - You boot and identify what type of system
you have. The boot server loads a predefined version of the OS.
Recommended for lab environments.

va-scan
You can set up a single system to be a Boot/Install Server.
This speeds up installation times (20 minutes). The Boot
server must be on the same subnet as the target. The Install
Server doesn’t have to be. A single system can be a Boot
and Install server.
Copyright 1999, Marchany
Solaris 8 Installation III

Need to know this before installation
– hostname - use fully qualified if not in NIS mode
– network connectivity - primary network i/f, IP addr.
– Type of Name service to be used 
–
–
–
–
va-scan
NIS, NIS+, other (DNS) - use DNS to resolve
hostname not NIS.
domain name - NIS domain name
DNS server IP addr., IP host name
Subnet mask, netmask, time zone,
Which software group to install? End user, Developer, Entire,
entire + OEM support. Recommend last one since you can always
remove software later.
Copyright 1999, Marchany
Solaris 8 Installation IV

More Need to know stuff
– What disks to install Solaris?
– Auto-layout the FS? No, since the defaults are never big enough.
–
–
–
–

Lay them out manually.
Preserve existing data? Recommend initial installation.
Backup/restore system specific stuff.
Accept the FS layout
Mount remote FS? Can do this later.
Reboot after installation? Also, pick the root password.
Sample Custom Jumpstart Installation
– Sample site: 2 subnets, 1 in the CC, 1 in EE
– The CC has the install/boot server, EE has a boot server
va-scan
Copyright 1999, Marchany
Solaris 8 Installation V

Create a JumpStart Dir
– holds the JumpStart installation files. Copy the template from the
Solaris installation CD.
– cp -r /export/Solaris_2.6/Misc/jumpstart_sample /jumpstart

Share the JumpStart Dir
 Create the CC profile
– Create /jumpstart/cc_profile. Specify in this file the install_type,
system_type, partitioning, cluster and swap FS
– Create /jumpstart/ee_profile with similar info.

Edit /jumpstart/rules
– specify the subnet and rules file that applies to it
va-scan
Copyright 1999, Marchany
Solaris 8 Installation VI

Execute the check script to verify rules syntax
– cd /jumpstart
– ./check
– check creates a rules.ok file.

Setup the CC systems for installation
– Setup the install server to download the appropriate OS
– cd /export/install
– ./add_install_client -c server:/jumpstart host_cc sun4c

Setup the CE systems for installation
– ./add_install_client -c server:/jumpstart host_ee sun4c

Boot the systems and install the OS
– from the OK prompt, enter:
va-scan
boot net - install
Copyright 1999, Marchany
Solaris Patch Administration

Sun releases patches regularly
 You MUST maintain current patch levels.
Review Solaris Patch Report available from
Sunsolve.
 Determine Patch Status:


va-scan
showrev -p shows all applied patches
pkgparam pkgid PATCHLIST shows patches
applied to the package pkgid
Copyright 1999, Marchany
Solaris Patch Administration



Use the patchadd, patchrm commands to install or remove patches
These commands replace installpatch, backoutpatch commands
They cannot be used for Solaris 1 systems
va-scan
Copyright 1999, Marchany
Solaris Patch Administration

Patches are available from
http://sunsolve.sun.com
 Hackers read the Patch Reports. You must
install the recommended and security
patches!
va-scan
Copyright 1999, Marchany
Solaris 8 - sys-unconfig






Use when you need to change the host name of the machine.
Use when you move a machines from one building to another.
It wipes out all of the pertinent host/TCP/IP control files
It restore the system to the out-of-box state BUT it does NOT affect
any user data files! It only modifies the TCP/IP pertinent files.
Run the command, it will shutdown the system when it’s finished.
You’ll be asked to re-enter the new TCP/IP info at the next reboot.
va-scan
Copyright 1999, Marchany
Solaris Software
Administration


Installing, removing software from standalone systems, servers
Software is delivered in packages.
– A collection of files/dirs in a defined format
– Format: Application Binary Interface (ABI), a supplement to the System
V Interface Definition




Pkgadd, pkgrm commands add/remove packages
Pkginfo commands lists the software installed on the system
Admintool is the GUI I/F
Adding a Package
– Pkgadd uncompresses, copies files from the installation source to a local
system disk
– Log info is stored in /var/sadm
va-scan
Copyright 1999, Marchany
Solaris Software
Administration


Package Naming Convention - Sun products begin with SUNW, 3rd
party packages use their own prefix (hpnp)
Most Sun software packages tell where they are installed
– Example: SUNWvolr is installed in /. The “r” stands for root.
SUNWvolu is installed in /usr

Best way to determine where it’s installed
– Look in the SUNW_PKGTYPE parm which is set in the package’s
pkginfo file



Some Sun Packages (compilers) install in /opt
Always use pkgrm to remove software
Set up a spool directory if you want to install from it.
– Pkgadd -d device -s spooldir
va-scan
pkgid …….
Copyright 1999, Marchany
Solaris 8 - Boot Process

The Boot Process
– BOOT PROM Phase
 Runs self-test diagnostics
 Loads the bootblk program. This program loads the secondary boot program
located in the ufs on the default boot device.
– BOOT PROGRAMS Phase
 Loads the ufsboot program which loads the kernel
– KERNEL INITIALIZATION PHASE
 Kernel is initialized
 Loads modules needed to mount /
– INIT Phase
 Kernel starts the init process
 The init process starts the rc scripts
va-scan
Copyright 1999, Marchany
Solaris 8 Boot Process

Run Levels Determine System State





0 - halt state
6 - reboot
3 - all system services w/networking
1 - single user
3 types of boot



va-scan
Interactive - you tell it where/which type
Reconfiguration - after adding/deleting HW
Recovery - hung system
Copyright 1999, Marchany
Solaris 8 Boot Process

System Run Levels (who -r)
– AKA init state, tells what services/resources are available to users
– 0 - shutdown state, safe to power off system
– 1 - single user, the term you issued this command becomes the
–
–
–
–
–
–
va-scan
system console
2 - multiuser - all services except NFS server, syslog
3 - multiuser - normal run state, all services available
4 - alternate multiuser - N/A
5 - power-down state, - like 0 but will power off automatically
6 - reboot - go to level 0 then level 3 or whatever level is the
default in /etc/inittab
S, s - single-user
Copyright 1999, Marchany
Solaris 8 - /etc/inittab


/etc/inittab contains a list of processes to start , monitor or
restart whenever the system boots or changes run levels.
Format: ID:Run-level:ACTION:PROCESS
– ID - unique identifies for the entry
– RUN-level - run level the system must be to run the process
– ACTION - keyword defines how the process is to be run
 Initdefault - first process to run
 Sysinit - special initializations that must be run before logins
 Powerfail - run process only during powerfail cycle
 Wait - wait for process to finish before starting next one
 Respawn - restart it if it’s not there. OW, continue
– PROCESS - the actual command to execute
va-scan
Copyright 1999, Marchany
Solaris 8 - Run Level 3

What Happens When Moving to Run Level 3
– Init is started. /etc/default/init contains the environment variables.
– Init reads /etc/inittab to find the initdefault entry and run it
– Init reads /etc/inittab to run any processes that have sysinit in the the
action field. Any initializations that need to be run before users login are
run now.
– Init read /etc/inittab to run any processes that have 3 in the rstate field.
– Commands that can be run at run level 3





va-scan
/usr/sbin/shutdown - run only if init has received the powerfail signal
/sbin/rc2 - defines the TZ, starts standard system processes, moves to run
level 2
/sbin/rc3 - starts NFS resource sharing
/usr/lib/saf/sac -t 30
- starts port monitors, UUCP network access
/usr/lib/saf/ttymon
- starts the ttymon process that monitors the console
for login attempts. Restarted if it fails.
Copyright 1999, Marchany
Solaris 8 - Run Level Scripts




Each run level has a set of scripts in /sbin. (rc0, rc1, rc2, rc3, rc5, rc6,
rcS.
For each /sbin/rcX script, there’s an /etc/rcX.d directory that contains
the scripts used in that run level. /etc/init.d files are linked to the
corresponding /etc/rcX.d dirs.
Scripts are run in ascii sort order. Names are of form: KXXname or
SXXname where xx is the numeric order the process is run and S
denotes a process startup script, K denotes a process kill script.
Adding an RC script
– Add the script to /etc/init.d
cp FN /etc/init.d
– Create links to appropriate /etc/rcX.d - cd /etc/init.d; ln FN
/etc/rc2.d/SxxFN; ln FN /etc/rcn.d/KxxFN

Removing an RC Script
– Cd /etc/rcX.d; mv FN .FN
va-scan
Copyright 1999, Marchany
Solaris 8 - RC Script Actions

/sbin/rc0 - /etc/rc0.d
– Stops system services, daemons
– Terminates all running processes
– Unmounts all filesystems

/sbin/rc1 - /etc/rc1.d
– Same as /sbin/rc0
– Brings the system up to single-user mode

/sbin/rc2 - /etc/rc2.d
–
–
–
–
–
–
va-scan
Mounts all local FS
Enables disk quotas if 1 FS was mounted w/quota option
Saves vi temp files in /usr/preserve
Removes any files in /tmp
Rebuilds device entries for reconfiguration boot
Configures system accounting
Copyright 1999, Marchany
Solaris 8 - RC Script Actions

/sbin/rc2
– Configures the default router
– Sets NIS domain and ifconfig netmask
– Reboots the system from install media or boot server if either
–
–
–
–
–
–
–
va-scan
/.PREINSTAL or /AUTOINSTALL files exis
Starts inetd, rpcbind, named
Starts Kerberos client, kerbd
Starts either NIS (ypbind) or NIS+(rpc.nisd)
Starts keyserv, statd, lockd, xntpd, utmpd
Mounts all NFS entries
Starts ncsd (name service cache daemon)
Starts automount, cron, LP, sendmail, utmpd, vold
Copyright 1999, Marchany
Solaris 8 - RC Script Duties

/sbin/rc3 - /etc/rc3.d
– Clean up sharetab
– Start nfsd
– Start mountd
– If the system is a boot server, starts rarpd, rpc, bootparamd, rpld
– Starts snmpdx

/sbin/rc5 - /etc/rc0.d
– Kills the printer and syslog daemons
– Unmounts local and NFS FS
– Stops NFS server and client processes
– Stops NIS, RPC and cron services
– Kills all active processes and initiates an interactive boot
va-scan
Copyright 1999, Marchany
Solaris 8 - RC Script Actions

/sbin/rc6 - /etc/rc0.d
– Runs the /etc/rc0.d/K* scripts to stop system processes
– Kills all active processes
– Unmounts all FS
– Runs the initdefault entries in /etc/inittab

/sbin/rcS - /etc/rcS.d
– Set up a minimum network
– Mount /usr
– set the system name
– Mounts /proc and /dev/fd
– rebuilds the device entries for reconfig boots
– Mounts FS needed for single user mode
va-scan
Copyright 1999, Marchany
Solaris 8 Boot Process

Reconfiguration Boot
– Adding new devices (tape drives, disk drives, etc.)
 Su
 Add the device driver
– Load driver CD/tape
– Pkgadd -d devicename package-name
– Touch /reconfigure
 If you don’t do this, use the boot -r console command
– Shutdown the system
 Shutdown -i0 -gX -y
– Determine the SCSI address of connected devices
 Ok>
probe-scsi-all
 Make sure you have an available SCSI address
– Install new device with proper SCSI address set
va-scan
Copyright 1999, Marchany
Solaris 8 - Reconfig Boot





Adding a Peripheral
Power up all peripherals. Power up the CPU unit last
From the OK prompt, enter: probe-scsi-all
If ok, enter: boot -r or boot (if you created /reconfigure)
Adding a disk drive\
– System Disk - contains / and /usr
– If damaged, two ways to recover
 Reinstall entire OS from CD
 Replace system disk and restore from backups
va-scan
Copyright 1999, Marchany
Solaris 2.5 Boot Process

Using the Boot Prom
– Use STOP-A keys to get boot prompt
• 2 types of prompt (OK, >). Use the ‘n’ command to get the
OK prompt
– How to find out the PROM release level

banner
– Changing the Default Boot Device




va-scan
probe-scsi-all prints all SCSI device #’s
setenv boot-device disk[n]
printenv boot-device to verify the change
reset
saves the new information
Copyright 1999, Marchany
Solaris 8 Boot Process

Run Level 3 (normal) Boot
– boot

Single User Boot
– boot -s
– Must enter root password to complete boot

Interactive Boot
– boot -a

va-scan
Need to know the kernel FN, kernel dir, kernel config file, root
file device name
Copyright 1999, Marchany
Solaris 8 Boot Process

Recovery Boot
– Use when critical file (/etc/passwd) dies
– Must use Solaris Install CD
– Mount the CD then:
–
–
–
–
–
va-scan
boot cdrom -s
mount the problem disk: mount <dev> /a
cd /a/<problem dir>
Set term type: export TERM=sun
Remove the invalid entry
cd / ; umount /a; init 6
Copyright 1999, Marchany
Solaris 8 - Shutdown

Shutdown commands
– /usr/sbin/shutdown, init (0 1 2 3 6 S s),
reboot, halt

Rebooting the system
– /usr/sbin/shutdown -i6 -gX -y

Shutdown the system
– init 0
– /usr/sbin/shutdown -i0 -gX -y
va-scan
Copyright 1999, Marchany
Solaris 8 Disks I

format Utility
– main tool for maintaining, partitioning disks
 Searches for all attached disk drives
 Analyzes, repairs, formats, partitions, labels disks
 When to use?
– Display partition info, partition a disk
– Adding a drive to the system

prtvtoc command

va-scan
use to read the disk label. This contains partition
information.
Copyright 1999, Marchany
Solaris 8 Disks II
– 1 filesystem/partition unless you use the DiskSuite
facility. Solaris calls disk partitions: disk slices.
– Name Format: cXtYd0sZ

CX - disk controller X, tY - SCSI id Y, sZ - slice Z
– Solaris numbers partitions rather than lettering them. 0-
7 -> a-h
– Default Partitions:




va-scan
0 - root
1 - swap
23 - /export
Kernel, OS files/dirs
Solaris swap space
the whole disk, use in non-system
used for server systems
Copyright 1999, Marchany
Solaris 8 Disks III
– Default disk partitions (cont’d)
 4 - /export/swap - used for diskless clients
 5 - /opt
- Solaris unbundled software
 6 - /usr
- system executables
 7 - /home
- user home dirs
– Multiple disk configuration
 split system disk from user/data disk
 makes recovery simpler
 can add multiple swap space to improve perf.
va-scan
Copyright 1999, Marchany
Solaris 8 Disks IV

Partition Fields
– Number - partition/slice number
– tag
- usually FS name
– flags
- wm - writable & mountable
- wu - writable & umountable
(defines swap)
- rm - R/O, mountable
– Cylinders
- start/end cylinder #
– size
- partition size in Mb
– blocks
- total # cyls, blocks in slice
va-scan
Copyright 1999, Marchany
Solaris 8 Disks V

Administering disks
– Identify the disk
–
–
–
–
va-scan
- format
Format the disk
- format/select/format
Display partion/slice info format/select/partition/print
Label the disk - format/select/type/select/label
Repair a disk - format/select/repair
Copyright 1999, Marchany
Solaris 8 Disks VI

Some formatting tips
– you must do a boot -r after adding any new
HW so Solaris will recognize it for format.
– Use format -M for extended, diagnostic
messages
– to label multiple disks with the same geometry
(disk towers):

va-scan
for i in X Y Z; do; prvtoc /dev/rdsk/XXX |
fmhard -s - /dev/rdsk/cnt${i}d0s2; done
Copyright 1999, Marchany
Solaris 8 Disks VIII

Adding a System or secondary disk
– Connect the HW, boot -r or boot CDROM
–
–
–
–
va-scan
(system disk)
Partition the disk
Create FS
Restore FS
Install Boot Block (system disk)
Copyright 1999, Marchany
Solaris 8 Disks IX

Connecting a System Disk
– Remove damaged disk
– Add new disk
– boot cdrom -s
(local CDROM boot, single user)
– boot net -s (network boot, single user)

Connecting a Secondary Disk
– Connect HW
– boot -r
va-scan
Copyright 1999, Marchany
Solaris 8 Disks X

How to install a boot block
– good idea to have an alternate boot disk
– /usr/sbin/installboot /usr/platform/`uname -
i`/lib/fs/ufs/bootblk /dev/rdsk/cNtNd0s0

Example: installboot
/usr/platform/sun4u/lib/fs/ufs/bootblk
/dev/rdsk/c0t0d0s0
– reboot the system
 Init 6
va-scan
Copyright 1999, Marchany
Solaris 8 Volume Mgt.

Volume Mgt daemon (vold) provides access to
CDROM, Floppies under the /vol/dev mount
point.
– Diskettes: /vol/dev/[r]disketteX
– CDROM: /vol/dev/[r]dsk/c0t6


CD Drive is at SCSI id 6 by default.
2 Special Mount points
– /cdrom
– /floppy
va-scan
Copyright 1999, Marchany
Solaris 8 Volume Mgt.

2 sets of symbolic links
– File System Access


/floppy/floppy0->/floppy/name->
/vol/dev/diskette0/name
/cdrom/cdrom0->/cdrom/name->
/vol/dev/dsk/c0t6/CD-name
– Raw Device Access


va-scan
/vol/dev/aliases/floppy0->
/vol/dev/rdiskette0/name
/vol/dev/aliases/cdrom0->
/vol/dev/rdsk/c0t6/CD-name
Copyright 1999, Marchany
Solaris 8 Volume Mgt.

Configuring Volume Mgt
– Starting vold
 Remove all CDROM, floppy disks
 su
 /etc/init.d/volmgt start
– Stopping vold
 su
 /etc/init.d/volmgt stop
va-scan
Copyright 1999, Marchany
Solaris 8 Volume Mgt

Formatting/Using Floppies
– General steps
 Load unformatted Diskette
 Format diskette
 Add a UFS filesystem
 Eject the diskette

Solaris 8 can format diskettes for Solaris or
MS-DOS use.
va-scan
Copyright 1999, Marchany

Solaris 8 Volume Mgt
Formatting a UFS diskette
– quit File Manager
– Write-enable the diskette, load it
– Enter: fdformat -v -U <options>


a series of dots show formatting progress
a series of V’s under the dots show verification.
– Diskette is ready for tar, cpio or DOS

Creating the UFS
– volcheck -v; newfs -v /vol/dev/aliases/floppy0; eject
floppy; volcheck -v
va-scan
Copyright 1999, Marchany
Solaris 8 - Diskette Summary
To Access
Insert
Find the Files In
Files on diskette
diskette
/vol/dev/aliases/floppy0
Enter: volcheck
Raw Data
diskette
/vol/dev/aliases/floppy0
Enter: volcheck
CD Files
va-scan
CD
Copyright 1999, Marchany
/cdrom/cdrom0
Solaris 8 - NTP Setup

Steps
– Create /etc/inet/ntp.conf
 server
ntp-1.vt.edu version 3
– /etc/init.d/xntpd start


You can add additional server lines in ntp.conf. ntp-2.vt.edu is the
other master timeserver on campus.
NTP is used to time stamp syslogs and any other applications that
requires time synchronization
va-scan
Copyright 1999, Marchany
Solaris 8 DNS Setup

DNS
– Edit /etc/nsswitch.conf, change the “hosts” field to “dns files”
– Know what your local DNS server address is.
 See http://rdweb.cns.vt.edu/public/dns
– Create /etc/resolv.conf
add the following fields
– domain xxx.vt.edu
– nameserver 128.173.4.247
– nameserver 128.173.4.113
– done

va-scan
Copyright 1999, Marchany
Solaris 8 Sendmail Setup



Solaris 8 ships with Sendmail 8.11.6
Use later versions available via anonymous ftp from
ftp.vt.edu:/pub/cc/Solaris/sendmail.tar
This kit contains the cf files, sendmail 8.11 binaries and
install, backout scripts
va-scan
Copyright 1999, Marchany
Solaris 8 Filesystems I
1. A Unix filesystem is a collections of directories and files.
2. Solaris supports 3 filesystem types: Disk-based, Network-based, pseudo.
3. Typical sysadmin filesystem duties include: making local/remote
filesystems available to users, connecting/configuring new disks and
making them available to the filesystem, designing/implementing a
filesystem backup schedule, checking/correcting filesystem damage.
4. Disk-based filesystem types:
UFS - Unix File System based on BSD fast file system in BSD 4.3.
Default filesystem type used by Solaris 2.3.
HSFS - CD-ROM filesystems: High Sierra, ISO9660 (official standard
version of High Sierra), ISO9660 with Rock Ridge extensions
which allow UFS structures (R/O) on a CD. 3rd party software
may be sent in one of these formats so ASK!
va-scan
PCFS
Copyright
Marchany
- PC file system allows
R/W1999,
access
to DOS diskettes.
Solaris 8 - Filesystems II
5. Network based filesystems use NFS (Network File System) protocols.
6. Pseudo Filesystems are virtual/memory based filesystems used by
Solaris and not by the sysadmin/users. Example: swap space.
7. TMPFS (TeMPorary File System) uses swap space to store temporary files.
This is defined by the /tmp filesystem. Files in here are NOT permanent and
are lost when the system is rebooted/shutdown. TRADEOFF: large /tmp
takes away from swap space that can be used by programs so you can
take a performance hit.
8. Process Filesystem (PROCFS) resides in memory and contains a list
of active processes in the /proc directory. Debuggers use this FS to
get info on a process. Do NOT delete this FS!
va-scan
Copyright 1999, Marchany
Solaris 8 - Filesystems III
1. Filesystem Administrative commands:
clri
df
ff
fsck
fsdb
fstyp
labelit
- clears inodes
- display disk usage, free blocks and mounted filesystems.
- list file names and stats for a file system.
- filesystem check and repair program.
- filesystem debugger.
- determines the FS type.
- lists/provides labels for the FS when copied to tape. Used
by the 'volcopy' command only.
mkfs
- make a new FS
mount
- mount a FS to make it available to the users
mountall - mount all the FS listed in /etc/vfstab
ncheck
- generate a list of path names with their inode numbers.
umount - unmount a FS. Makes it unavailable to users.
umountall - unmount the FS listed in /etc/vfstab.
volcopy - makes an image copy of a file system.
use man command for more info. To get info on a specific FS type:
man command_FStype
EX: man mount_ufs
va-scan
Copyright 1999, Marchany
Solaris 8- Filesystems - IV
1. To find out FS type:
- look in FS Type field of /etc/vfstab
- look in /etc/default/fs to see default local FS type
- look in /etc/dfs/fstypes to see default remote FS type
- look in /etc/mnttab for mounted FS type info
- Enter: devnm <mount-point> and use the fstype <raw-devicename>
command (must be root to do this)
2. Default Solaris 8 FS( FS types):
/
- (UFS) the root directory. Critical system files (kernel /kernel/unix),
device drivers, boot programs.
/etc - (NFS) sysadmin configuration files. FS type is UFS if you select
STANDALONE or SERVER during Solaris 8 installation.
/usr - (UFS) system files/commands, directories that can be shared with
other users. Man pages are stored here.
/home - (NFS) user home directories. Can be UFS if you select SERVER or
STANDALONE during Solaris 8 installation.
va-scan
Copyright 1999, Marchany
Solaris 8- Filesystems V
- Default Solaris 8 Filesystem, FS types (Cont'd)
/var
/opt
- (UFS) contains system logs, accounting logs, vi backup files.
- (NFS) default location of compilers, 3rd party software. Can
UFS if you select SERVER or STANDALONE but QUICK INSTALL
makes it too small so you should select CUSTOM INSTALL
to make a bigger one.
/tmp -(TMPFS) temporary files that are cleared on reboot.
/proc -(PROCFS) list of active processes on the system.
/, /usr are needed to run a system.
- More on UFS
- the default Solaris 8 FS
- can be up to 1 Tbyte in size but Solaris 8 does NOT provide 'striping'
to allow this. You need DiskSuite package to do this.
Individual files can be up to 2GB in size.
va-scan
Copyright 1999, Marchany
Solaris 8- Filesystems - VI
- UFS Planning and Strategies
1. Total size: 1 TByte if you use Online:Disksuite, otherwise as big as
the slice you allocated for it.
2. Maximum File Size: 2Gbyte
3. Maximum number of files:
depends.... # of inodes determines this.
Default: 1 node / 2K of data. # of inodes
is defined by the -i option of 'mkfs'
4. Types of UFS Blocks:
boot block
Superblock
inodes
- has the boot information used by Solaris.
- has most of the FS to disk map info.
- used to store all info (disk sector, etc.)
about a file except name.
Storage/data block - where the actual data resides.
va-scan
Copyright 1999, Marchany
Solaris 8- Filesystems VII
- UFS Planning/Strategies
1. Distribute the workload across I/O devices. Distribute /home, /swap
across drives as evenly as possible.
2. Keep projects/groups within the same filesystem.
3. Use as few FS per disk as possible. On the system drive, try to have
/, /usr and /swap only. /var is ok also. Of course, if you only have 1
drive .........
4. Default values for 'mkfs' command include:
default block size:
8Kb
default fragment size:
1Kb
default minimum free space: 10% of total disk capacity
Default # of inodes:
1 per 2Kb of disk space
va-scan
Copyright 1999, Marchany
Solaris 8- Filesystems VIII
- FS that are currently mounted are listed in /etc/mnttab
- FS that are mounted at boot are listed in /etc/vfstab. It has 7 fields:
Device to mount - block (/dev/dsk) device name or remote FS name
of format: Remote-server:remote-FS-name
Device to fsck - corresponding raw (/dev/rdsk) device name of 1st field
Mount Point - default mount point for the FS
FS Type - type of FS (UFS, NFS, PROCFS, etc.)
Fsck Pass - used by fsck command to determine the order in which to
check the FS on boot. A '-' means no check. NOTE: NFS
FS should have a "-' in this field. fsck can operate in parallel
so there can be multiple FS with the same pass #.
Automount? - automatically mount this FS on boot. NOT the automounter.
Mount Options - options for the mount command (RW, RO).
va-scan
Copyright 1999, Marchany
Solaris 8- Filesystems IX
- CREATING FILESYSTEMS
1. you should create FS after:
- adding/replacing disk drives
- changing the partition map on a disk, Ex: making a FS larger
- Doing a full restore of the filesystems on the disk
- Changing other FS parameters (block size)
2. Disk must be formatted and partitioned (see 'format' command).
Syntax:
newfs /dev/rdsk/device-name
3. To install boot block on a drive or make another drive an alternate boot
disk:
- select a FS to us as the bootable FS
- create it if necessary
- enter: installboot /usr/lib/fs/ufs/bootblk /dev/rdsk/device-name
va-scan
Copyright 1999, Marchany
Solaris 8- Filesystems X

Determining a FS Type
– df -k command
– the FS field of /etc/vfstab
– /etc/dfs/fstypes for remote files
– grep <mount point> /etc/mnttab
– devnm /<filesystem>
– fstyp /dev/rdsk/<device name>
va-scan
Copyright 1999, Marchany
Solaris 8- Filesystems XI

Mount/Unmount FS
– mount, mountall, umount, umountall

Mounting FS
– mount <FS> will use info from /etc/vfstab
– mount NFSserver:/<FS> <local mnt pt>

Unmounting FS
– List & kill processes using the FS


va-scan
fuser -c -u <mount-point> lists the process
fuser -c -k <mount-point> kills them
Copyright 1999, Marchany
Solaris 8 - Swap Space
1. Swap space partitions are used by the system when it doesn't have enough
memory to handle a current process. tmpfs FS stores files in memory and
allocates space in /tmp for swap. As you use space in /tmp, you take away swap.
2. Swap areas to be mounted at boot are defined in /etc/vfstab.
3. To look at existing swap space:
swap -l OR swap -s (more useful)
4. To create additional swap space w/o reformatting the disk:
a. Create the file
- use:
mkfile -v nnn[k|b|m] file name
ex: mkfile -v 1m /swap2
b. Make it available for use:
swap -a filename
c. Verify it worked:
swap -l
d. To make it available at boot, put an entry in /etc/vfstab BUT make sure
the FS the swap space is on is mounted first.
e. To remove swap space:
swap -d filename
va-scan
Copyright 1999, Marchany
Solaris 8 - Crash Dump Setup

Steps
– Create Crash Dump Directory
 mkdir
/var/adm/crash
 cd
/var/adm/crash
 mkdir
SYSTEM-NAME
– Reserve space for crash dump files
 Cd /var/adm/crash/SYSTEM-NAME
 Create a file , minfree, that contains a number spcecifying the min free space
that must be available for crash dumps. (in K)
– Echo 500 > /var/adm/crash/dock/minfree
– Enable /Disable crash dumps
 Edit /etc/init.d/sysetup, uncomment lines that enable crash dumps, exit.
– Examine crash dump files
 usie isadc.sh (from sunsolve.sun.com) or /usr/sbin/crash
va-scan
Copyright 1999, Marchany
Solaris 8 - NFS I
- Summary of NFS system management tasks
1. Start/stop NFS operation
2. Create CacheFS to improve NFS server performance
2. Sharing/unsharing (exporting FS) FS as necessary
3. Mounting/unmounting NFS directories as needed
4. Modifying administrative files (/etc/dfs/dfstab, /etc/auto_master)
5. Verifying network status
6. Diagnosing and fixing NFS problems
7. Set up automounter maps
- Summary of NFS related commands:
nfsstat, ping, netstat, pkginfo, share, shareall
va-scan
Copyright 1999, Marchany
Solaris 8 - NFS II
-Setting up NFS Servers and Clients
1. Use 'pkginfo' command to make sure you have installed the following:
Remote Procedure Call (RPC) Utilities, Network Support Utilities,
TCP/IP Utilities, DFS Administration Utilities.
2. If you don't have them, install them using the 'pkgadd' command.
3. To START NFS server: sh /etc/init.d/nfs.server start
client: sh /etc/init.d/nfs_client start
NOTE: this is usually done automatically at boot by the RC scripts.
4. To STOP NFS server: sh /etc/init.d/nfs_server stop
client : sh /etc/init.d/nfs_client stop
5. Set up automatic sharing (export): edit /etc/dfs/dfstab, add entries, run
'shareall' command, verify by 'showmount -a' command.
1999, Marchany
6.va-scan
Set up automatic mounting Copyright
by placing
entry in /etc/vfstab
Solaris 8 - NFS III
- the 'share' command is used to make dirs available for NFS export.
Remember the unique UID/GID is important for security. Command options:
-o
indicates more options follow
rw
indicates R/W access to directory except those defined by ro=<hosts>
Can be of form rw=<hosts>. This is the DEFAULT condition.
ro
indicates R/O access to the directory except those defined by rw=<hosts>
anon=uid - allows you to specify a uid for YOUR system that the CLIENT
systems root user (UID=0) will be when it's on your system.
This prevents a client root from getting your root access.
DEFAULT: client UID=0 -> server UID=60001 (nobody).
root=<hosts> - allows root on the listed hosts to BE root on your system.
NOT recommended.
va-scan
Copyright 1999, Marchany
Solaris 8 - NFS IV
-Setup the Cache FS (Cache Filesystem
- general purpose FS to improve NFS server performance. Used
for heavy NFS loads, clients with slower links (PPP clients).
- the NFS server has the exported FS (Back FS).
- As the NFS clients access the Back FS, that piece is placed in
the client’s Cache FS. Initial request may be slower but later
ones will be faster.
- Steps
1.
Create the Cache FS
cfsadmin
2.
-c
<cache-dir>
Specify the FS to be mounted in the CacheFS
va-scan
mount -F cachefs -o backfstype=fstype,
cachedir=cachedir[,options] <Back FS> <mnt-pt>
Copyright 1999, Marchany
Solaris 8 - NFS V
3.
Verify the mount worked:
cachefsstat <mnt-pt>
4.
Put entry in /etc/vfstab
- Specify cachefs for FS Type
- put options in the MOUNT OPTIONS field
5.
Modifying a FS in the cache
- you must delete the cache, recreate it
mount FS; cfsadmin -d all <cacheFS>
cfsadmin -c <cache FS>;reboot
6.
Display Cache FS info:
cfsadmin -l <cache FS>
7.
Deleting a Cache FS:
cfsadmin -d <cache id> <cache-dir>
<cache id> is the last line of cfsadmin -l
8.
va-scan
Checking Cache FS Integrity:
fsck -F cachefs <cache-dir>
Copyright 1999, Marchany
Solaris 8 - NFS VI
- NFS troubleshooting
1. Check to see if mountd daemon is running: ps -ef | grep mountd
2. Check to see if nfsd daemon is running:
ps -ef | grep nfsd
3. If they're down, restart them from root:
/usr/lib/nfs/mountd
OR /usr/lib/nfs/nfsd -a 8
4. To see if server is up:
ping <server>
5. To see if server nfsd daemon is responding, enter from client:
/usr/sbin/rpcinfo -u <server> nfs
6. Check to see if server's mountd daemon is up:
/usr/sbin/rpcinfo -u <server> mountd
va-scan
Copyright 1999, Marchany
Solaris 8 - Automounter I
1. Accessing NFS dirs via mount uses system resources even if you're not
accessing anything in the NFS dirs. Automounter does the mount only
when needed and unmounts the NFS dir when they're not being used.
Good way to optimize the network resources.
2. Automounter does not use /etc/vfstab. It uses a series of 'maps' (direct or
indirect). The local root map is called: /etc/auto_master. If NIS is used,
information is in the MASTER map.
3. Three types of automount maps: master, indirect, direct
All are located in /etc.
4. Master map format:
mount-point map mount-options
|
|
|
|
|
Normal NFS mount options (ro, rw, nosuid, etc.)
|
map name (can be indirect or direct)
where to mount the files in the map - full absolute path name.
va-scan
Copyright 1999, Marchany
Solaris 8 - Automounter II
- Special cases for the mount point field
/-
means use the mounts point in the map specified in the map field
/home means use /home as the local mount point for the entries in the
map called /etc/auto_home. This technique can be used to
automount home dirs in a lab situation.
/net tells automounter to look in the special map -hosts (NIS) and mount
ALL of the FS that are available for export by the machines in the map.
Easy but wasteful since it mounts ALL of the dirs and not just the one
you need.
- INDIRECT MAPS
-contains the entries that are to be mounted under the mount point.
- Special case: /etc/auto_home contains a list of users and where
their home dirs are located. When a user logs in on a machine,
automounter will mount their home dir. FORMAT:
va-scan
username
mount-options
Copyright
1999, Marchany
host:home-dir/&
Solaris 8 - Automounter III
- DIRECT MAPS
- simplest to use. Format is similar to /etc/vfstab.
mount-point
+map-name
mount-options
(NIS only)
host:dir-name
- Special Case
- Multiple mounts. Example, consider the following direct map entry:
/usr/local -ro \
/bin
ivy:/export/local/bin
/share
dock:/export/local/share
/src -ro vtaix:/usr/local/src
This tells your system that /usr/local/bin is on machine ivy, /usr/local/share is
on machine dock and /usr/local/src is on machine vtaix. The 3 dirs are
mounted anytime a user does a 'cd' to the /usr/local tree. You may use this
va-scan to access man pagesCopyright
1999, Marchany
scenario
on different
machines.
Solaris 8 - Automounter IV
- How does Automounter Navigate through the Maps?
- Maps are available locally or from NIS+ server.
- At Boot
- automount reads the master map,
/etc/auto_master and compares it with
the mount table, /etc/mnttab
- NOTE: it checks the server’s export list
only at mount time. Once the FS are
mounted, it doesn’t check with the server
until the server’s FS are mounted/umounted
so newly exported FS won’t be seen unless
the server does a remount.
va-scan
Copyright 1999, Marchany
Solaris 8 - Automounter V
The Automount Process
1. ping the server’s mount service
2. request the server’s export list, sorts them by path
name length so the mounting is done in order.
3. mounts the FS at the mount points specified in maps.
Other Info
1. Map entry: +mapname reads a map file from NIS
2. Order is determined by /etc/nsswitch.conf automount
entry.
va-scan
Copyright 1999, Marchany
Solaris 8 - Automounter VI
Automount Map Maintenance
- local files: text editor
- NIS
: make
- NIS+
: nistbladm
- Run automount command after 1) add/mod
auto_master, 2) add direct map
-How to modify the Master map
- Use nistbladm to make changes to map
- At each client, run automount command
va-scan
Copyright 1999, Marchany
Solaris 8 - Kernel Mods

The Kernel config file is /etc/system
 To display kernel parms
– Use sysdef -i command

To modify a kernel parameter
– su root
– Edit /etc/system


Add line of form: set parm=value
Ex: set max_nprocs=500
– Reboot the system
va-scan
Copyright 1999, Marchany
Solaris 8 - Kernel Parameters

Tunable UFS Parameters
– Ufs_ninode - max size of the inode table (default= max_nprocs
+16+maxusers+64)
– Ncsize - # of dnlc (directory-name lookup cache) entries
(default=max_nprocs+16+maxusers+64)

Tunable STREAMS Parameters
– Nstrpush - max # of STREAMS pushes allowed (9)
– Strmsgsz - max size for the STREAMS message a user can generate.
0=unlimited
– Strctlsz - max size of the CTL part of a message
– Strthresh - max size of dynamic memory the STREAMS subsytem can
consume in bytes.
– Sadcnt - # number of sad devices
va-scan
Copyright 1999, Marchany
Solaris 8 - Kernel Parameters

Tunable Interprocess Communication (IPC) Parameters
– Msginfo_msgmap - number of entries in the message map (100)
– Msginfo_msgmax - max message size (2048)
– Msginfo_msgmnb - max bytes on queue (4096)
– Msginfo_msgmni - # of message queue identifiers (50)
– Msginfo_msgssz - segment size of a message (8)
– Msginfo_msgtql - # of system message headers (40)
– Msgingo_msgseg - # of message segments

See answerbook for more info on tunable kernel parameters
va-scan
Copyright 1999, Marchany
Solaris 8 - TCP/IP I
TCP/IP Network Administration
1. Transmission Control Protocol/Internet Protocol (TCP/IP) are the network
communication protocols that are responsible for getting a packet of
of information from one host to another.
2. Unix Network administration involves setting up the standard network
config files. These files give the network daemons the info they need
to communicate to other Internet systems.
3. Generic Unix network administration commands:
netstat, ping, route, ps, ifconfig, snoop, nfsstat
4. TCP/IP related files:
/etc/hostname.leX, /etc/nodename.leX, /etc/defaultdomain, /etc/hosts,
/etc/defaultrouter
va-scan
Copyright 1999, Marchany
Solaris 8 - TCP/IP II
SETTING UP YOUR HOST ON THE NETWORK
1. Hosts are defined by a hostname (your pick) and an IP address (from CNS).
Contact hostmaster@cns.vt.edu for your IP address. You can call it anything
you want BUT we STRONGLY suggest the following format:
hostname.dept.vt.edu
|
|
| |
|
|
| mandatory. Signifies an Educational site
|
| mandatory. Stands for Virginia Tech
|
Optional but we suggest your dept. name (esm, cc, cs)
your machine name
2. CNS will supply you with the address of your router and subnet mask.
3. The init scripts that controls TCP/IP configuration/startup at boot is
/etc/rc2.d/S69inet, /etc/rc2.d/S71rpc, /etc/rc2.d/S72inetsvc
va-scan
Copyright 1999, Marchany
Solaris 8 - TCP/IP III
4. Configure your hosts from the local files if you're not using NIS or NIS+.
If so, set up the network info on the NIS or NIS+ master.
- create /etc/nodename and put your host name in it.
- create /etc/hostname.<interface-name> and put either the IP address or
the hostname. <interface-name> is usually le0 for Sparcstations.
- put your hostname, IP address and aliases for your system in /etc/hosts.
Leave the 127.0.0.1 entry alone. It is a special case for loopback test.
- put your domain name (dept.vt.edu) in /etc/defaultdomain.
- put the address of your default router (128.173.XX.1 where XX is your
building subnet number that is supplied by CNS) in /etc/defaultrouter.
General rule: Divide subnet field/4, truncate result, multiply by 4.
Example: IP address: 128.173.14.200 -> 14/4=3.5, 3*4=12, address of
router= 128.173.12.1
- put
va-scan
your subnet mask (255.255.25x.0)
in /etc/netmasks.
Copyright 1999, Marchany
Solaris 8 - TCP/IP IV
CONFIGURE NETWORK DATABASES
1. /etc/hosts - contains the addres of host on our net. You should be using
the VT nameserver to resolve addresses so this file should
only have a loopback entry and one for your machine unless
3rd party software requires an entry.
2. /etc/nsswitch.conf - this files determines the search order for network
information. For non-NIS systems, change the hosts
entry from 'files' to 'dns files'. This tells the system
to query the VT nameserver (dns) first and then the local
files.
3. /etc/netmasks - contains the list of network and netmasks. The net mask
determines which of the 32 bits apply to the network addr
and which ones apply to the host address. This number is
supplied to you by CNS.
va-scan
Copyright 1999, Marchany
Solaris 2. 6 - TCP/IP V
4. /etc/networks - maps network names to network numbers. Usually, no
need to modify this file since we use the nameserver.
5. /etc/ethers - maps host names to ethernet addresses. Only needed if
you use RARP for diskless machines.
6. /etc/protocols - list of the IP protocols running on the system. Created
at installation and not modified by you.
7. /etc/services - lists the TCP and UDP services and their port numbers.
Created at installation time and is only modified if you
install 3r party client/server software.
va-scan
Copyright 1999, Marchany
Solaris 2. 6 - TCP/IP VI
DEBUGGING TCP/IP PROBLEMS
1. Use 'netstat' command to get network information. Most frequently used
options are -s, -r, -i
netstat -s - displays per-protocol stats for TCP, UDP, ICMP and IP.
Check the error stats to see if there are problems.
netstat -i
- displays I/O stats for each ethernet I/F connected to the system.
Excessive I/O errors could be a problem with the I/F. High
collision rates may be a CNS problem. Use with 'ping'
command to see if packets are leaving your system.
netstat -r
- displays the IP routing table. The router directs packets
to/from your building's internal network.
2. The 'snoop' command can be used to capture network packets. BE
CAREFUL. This is a network 'sniffer' command and has a dark side.
Root users can run this but you must control root access.
va-scan
Copyright 1999, Marchany
Solaris 8 - TCP/IP VII
4. Make sure the inetd daemon is running. Use:
ps -ef | grep inetd
to see if it is. If not, check your syslog to see any error messages and
restart it by running /etc/rc2.d/S69inet.
5. Use the 'ping' command to see if the network and remote system are up.
/usr/sbin/ping -s
- continuallly sends packets to the target. Use this
to see if packets are being lost.
6. Use the 'ifconfig' command to check the ethernet I/F status.
ifconfig -a
va-scan
- gives the IIP address, netmask, broadcast,
and ethernet address for all of the ethernet
I/F connected to your system.
Copyright 1999, Marchany
Solaris Password File Fields

/etc/passwd







va-scan
username - 2-8 chars
password - contains an X.
UID - user identification number
GID - group identification number
Comment - Full name of the user
Homedir - location of the user’s home directory
shell - default login shell
Copyright 1999, Marchany
Solaris Shadow Password File

/etc/shadow







va-scan
username - user name
password - encrypted password. LK - locked, NP - no
password for the account
lastchg - # days between 1/1/70 and the last password change
min - min. # days between password changes
max - max. # days the password is valid
inactive - # days an account can be inactive before it’s locked.
expire - date account expires
Copyright 1999, Marchany
Customizing User
Environment

Sets up the user environment at login
– Default User Environment Templates are:
/etc/skel/local.login, /etc/skel/local.cshrc,
/etc/skel/local.profile
va-scan
SHELL
Bourne
C
LOCATION
$HOME/.profile
$HOME/.login
$HOME/.cshrc
Korn
$HOME/.profile
Copyright 1999, Marchany
PURPOSE
Sets env. at login
“ “
Sets env. for all
shells after login
Sets env. at login
The User Add Process

Customize User Initialization file in
/etc/skel
 Add groups
 Set User Account Defaults
 Add the User Account
 Share the User Home Directory (option)
 Mount the User Home Directory
va-scan
Copyright 1999, Marchany
User Maintenance Process

Modify a group
 Delete a group
 Modify a User Account
 Delete a User Account
 Disable a User Account
 Change a User Password
 Change User Password Aging
va-scan
Copyright 1999, Marchany
Solaris 8
Setting Up Users - I
1. Default User Account Policy
- Must abide by the VT Acceptable Use policy (ftp.vt.edu, handbooks)
- good idea to keep a form since sysadmins change frequently.
- Assign the user to a group
2. Usernames
- keep the same username across machines. Try for 1 username,
1 user rule. Some exceptions: syadmin accounts.
SUGGESTION: make the username the same as the PID.
- RULES: 2-8 letters/numerals with the first character being a letter.
At least 1 character must be lowercase, no underscores.
va-scan
Copyright 1999, Marchany
Solaris 8
Setting up Users - II
3. UID - User IDentification code. This is how the OS identifies a user,
NOT by the username. Must be unique. See below.
4. RULES:
- UID range: 0<UID<60000 but 0-99 are reserved for non general
users. ANY username with UID=0 is ROOT! UID 1 is reserved for
'daemon', UID 2 is reserved for 'bin'
- UID 60001 is reserved for the 'nobody' account (NFS,FTP).
UID 60002 is reserved for the 'noaccess' account.
- UID must be unique across campus to avoid NFS security
problem. One way to assure this is to require your users to get
a VT PID and use that PID number as the Unix UID on your system.
ADVANTAGE: no paperwork on your part since the CC has the PID
forms. Unique UID guaranteed across campus.
DISADVANTAGE: user has to do the footwork to get a PID first.
va-scan
Copyright 1999, Marchany
Solaris 8
Setting Up the User - III
5. Before adding new users, check to make sure UIDs aren't in use.
(unless you use the PID=UID rule.....hint!)
6. Group ID (GID) should be unique also but you can't use the PID rule here.
GID RULES:
- Range: 0<GID<60002
- GID 0 is root. GID 60001 is 'nobody', GID 60002 is 'noaccess'
- Customary range is 100-60000
- Default is GID 1 (other). Group name-GID map is /etc/group file.
7. User information is stored in:
- NIS+ tables: Password field, shadow field
- NIS maps: passwd map
- local /etc/files: /etc/passwd, /etc/shadow........most common
- Use ADMINTOOL/USER ACCOUNT MANAGER tool to
add/change/modify users.Copyright 1999, Marchany
va-scan
Solaris 8
Setting up the User - IV
- Setting up Groups
- info stored in NIS map (group), NIS+ table (Group) or /etc/group
- User must belong to at least 1 group but they can belong to 16 groups
max.
- Use 'groups' command to see the group list for a user.
- Users can change to their other groups via the ' newgrp' command.
- FS access privileges are determined by the PRIMARY group.
- 3 fields in /etc/group:
Group Name, Group password, GID, member list
Group password is NOT used. If there is a password defined in this
field, newgrp will prompt the user for it BUT there's no utility to SET
the password. Go figure.....this is a relic from old Unix.
- Default group names: root, other, bin, sys, adm, uucp, mail, tty, lp,
nuucp, staff, daemon, nobody, noaccess.
va-scan
Copyright 1999, Marchany
Solaris 8
Setting up the User - V
- General steps BEFORE adding the user. Edit the system-wide user initialization
files. These files define environment variables, display the MOTD, sets the
default umask, etc. The MOTD is in /etc/motd.
1. su
2. Edit /etc/profile - system init file for bsh, ksh users
Edit /etc/.login - system init file for csh users. These files set system
wide environment variables and any other custom files. Good place
to put LM_LICENSE_FILE environment variable definition.
3. Edit /etc/skel/local.login, local.cshrc, local.profile to add any other
user specific information. USER ACCOUNT MANAGER (add user or
copy user) will prompt you for the Skeleton Path field. Enter: /etc/skel
to tell it where to get the user init files.
va-scan
Copyright 1999, Marchany
Solaris 8
Setting up the User - VI
- More on Initialization files
Environment Variables - shell variables (like VMS logical names) that are
exported to all child processes. 2 ways to set them:
C-shell: setenv variable-name
B-shell, K-shell: VARIABLE-NAME=value; export VARIABLE-NAME
NOTE: csh uses lowercase; bsh, ksh uses upper case.
-Common Shell variables used in the init files (csh, uppercase them for
bsh and ksh):
arch
- sets the user's system architecture (sun4, i386).
calendar - sets the path to the OW Calendar executables.
cdpath - used by the 'cd' command. This variable specifies a search list for
relative directories. Allows to you to specify relative names instead
of explicit names.
va-scan
Copyright 1999, Marchany
Solaris 8
Setting up the User - VII
- More environment variables
deskset
history
- sets the path to the OW Deskset executables
- sets the command history (C-shell only). You can use command
recall features of C shell.
home
- defines the user home directory
logname - defines the name of the user currently logged in.
Set by login program.
lpdest
- sets the user's default printer.
mail
- sets the path to the user's mailbox.
manpath - sets the path to the man pages. This is usually modified after a
compiler installation.
openwinhome - defines the path to the OW executables
path
- defines the command search path. Order is important. Defined by
user .profile or .cshrc at login.
prompt
- defines the shell prompt for csh.
PS1
- defines the shell prompt for bsh and ksh.
shell
- sets the default shell used by make, vi and other commands.
term
- defines the terminal type. Default is /usr/share/lib/terminfo.
va-scan
Copyright 1999, Marchany
Solaris User Management

User Management Commands
 TASK
Environment
Command
Add User
NIS+
NIS
None
Modify User
va-scan
NIS+
NIS
None
Copyright 1999, Marchany
nistbladm
nisclient
useradd
make
useradd
nistbladm
usermod
make
usermod
Solaris User Management

User Management Commands
 TASK
Environment
Command
Delete User
NIS+
NIS
None
Set User
Defaults
va-scan
NIS+
NIS
None
Copyright 1999, Marchany
nistbladm
nisclient
userdel
make
userdel
N/A
useradd -D
make
useradd -D
Solaris User Management

User Management Commands
 TASK
Environment
Command
Disable User
Change User
Password
va-scan
NIS+
NIS
None
nistbladm
vipw
make
vipw
NIS+
NIS
None
nispasswd
yppasswd
passwd
Copyright 1999, Marchany
Solaris User Management

User Management Commands
 TASK
Environment
Command
Add a Group
NIS+
NIS
None
Delete a Group
NIS+
NIS
None
va-scan
Copyright 1999, Marchany
nistbladm
groupadd
make
groupadd
groupdel
groupdel
make
groupdel
Solaris User Management

User/Group Management Commands
 TASK
Environment
Command
va-scan
Find User
NIS+
NIS
None
nismatch
ypmatch
grep
Add a Group
Password
NIS+
NIS
None
nispasswd
yppasswd
passwd
Copyright 1999, Marchany
Solaris User Management

User Management Commands
 TASK
Environment
Command
Disable User
Change User
Password
va-scan
NIS+
NIS
None
nistbladm
vipw
make
vipw
NIS+
NIS
None
nispasswd
yppasswd
passwd
Copyright 1999, Marchany
Monitoring System Log Files

Most
are
located
in
/var
LOG FILE
USE
/var/adm/aculog
log of outgoing modem calls
/var/adm/admin.log
Admintool log
/var/adm/lastlog
history of last logins
/var/adm/messages
General system log
/var/adm/pacct
Per Process Accounting log
/var/adm/sa/*
Sys. Accounting files
/var/adm/sulog
SU command history
/var/log/syslog
Mail log, TCP Wrapper log
/var/adm/utmp
History of user logins
/var/adm/wtmp
History of system logins
va-scan
Copyright 1999, Marchany
/var/cron/log
/usr/sbin/cron logs
Some Search Hints

To find large files:
– ls -s | sort -nr | more
– find <dir> -size +nnn -print

To find old, inactive files:
– Find <dir> -type f -mtime +<days> -print

To find core files:
– find <dir> -name core -print
va-scan
Copyright 1999, Marchany
Solaris Configuration Files

Found in /etc
– /etc/resolv.conf - defines NS locations
– /etc/nsswitch.conf - defines the search order
for system DB (net or local)
– /etc/inetd.conf - defines Internet services
allowed on the system
– /etc/syslog.conf - defines where the system logs
reside
va-scan
Copyright 1999, Marchany
System Accounting

Programs that collect data about system usage
– monitor system usage
– Troubleshooting
– monitor system performance
– maintain some security
– performs chargeback

Most programs are in /usr/adm/acct or
/usr/lib/acct
va-scan
Copyright 1999, Marchany
Types of Accounting

Daily Accounting data collected
– Connect Accounting
– length of time user was logged in
– tty line usage
– number of system reboots
– Process Accounting
–
–
–
–
–
va-scan
User UID, GID of those using the process
Start/End times of the process
CPU time for the process
Command name, memory used
tty line controlling the process
Copyright 1999, Marchany
Types of Accounting/Reports
– Disk Accounting
 User UID, GID
 # of disk blocks used by the user

Daily Accounting Reports
– Daily Report - line utilization by tty number
– Daily Usage - system usage by UID
– Daily Command Summary - system usage by
command listed in descending order of memory
– Last Login - last time each user logged in
va-scan
Copyright 1999, Marchany
Accounting Quick Reference

Setting up Accounting
– Install SUNWaccr, SUNWaccu packages
– Install /etc/init.d/acct as the start script for run level 2

ln /etc/init.d/acct /etc/rc2.d/S22acct
– Install same file as stop script for level 0

ln /etc/init.d/acct /etc/rc0.d/K22acct
– Add entries for /usr/lib/acct/ckpacct,
/usr/lib/acct/runacct, /usr/lib/acct/monacct to the end
of /var/spool/cron/crontabs/adm
va-scan
Copyright 1999, Marchany
Accounting Quick Reference

Setting up Accounting
– add entry for /usr/lib/acct/dodisk to the end of
/var/spool/cron/crontabs/root
– Edit /etc/acct/holidays to include national and
local holidays
va-scan
Copyright 1999, Marchany
Solaris 8 - Security

Use the checklists available at www.cc.vt.edu Sun
Scholarpac WWW site
– Two checklists that help you bring a system to a base level of
security
– Install TCP Wrappers, CRACK, lsof, Sun’s patchdiag tool, ssh and
any other tools you deem fit for your environment.

Use the Solaris Security FAQ available from the net .
va-scan
Copyright 1999, Marchany
Solaris 8 Security

Securing Systems
– Display user’s login status: logins -x -l <username>
– Search for no passwords:
logins -p
– Save failed login attempts: touch /var/adm/loginlog
chmod 600 loginlog
chgrp sys loginlog
– Restrict root login to console:
vi /etc/default/login
Uncomment CONSOLE
line
– Monitor su log:
vi /etc/default/su
Uncomment SULOG line
– Display root console access: vi /etc/default/su
Uncomment CONSOLE
line
va-scan
Copyright 1999, Marchany
Solaris 8 Security

ACL (Access Control Lists)
– Similar to AIX ACL. It allows you to be more flexible in defining
your file access permissions.
– You can deny write access to one group, allow it to another.
– 2 commands: getfacl setfacl {-s -m -d]
– A + in the perm field marks a file with an ACL. Use the getfacl
command to look at the ACL

Setting an ACl
– Example: set file ch2.doc with the following perms:



740 with group ‘sysadmin’ having RW , ACL mask:RW
setfacl -s u::7,g::4,o:0,g:sysadmin:6,m:6 ch2.doc
Reading the ACL
– getfacl
va-scan
ch2.doc
Copyright 1999, Marchany
Solaris Audit Administration

Allows sysadmins to detect potential
security breaches
 Look for suspicious patterns
 This is system admin auditing not audit
auditing...:-)
 Can record events in an audit trail and
analyze misuse by examining it.
 Can eat up LOTS of disk space
va-scan
Copyright 1999, Marchany
Solaris Auditing

Enable Auditing: /usr/sbin/auditd


see audit_startup man page for more info
Audit Classes and Events
– Auditable event - some system action defined
in /etc/security/audit by name, event number,
class and description


see audit_event(4) man page for more info
Audit Record
– a single audited event stored in a log
va-scan
Copyright 1999, Marchany
Solaris Auditing

Audit Flags (+/-flag Example: +exec

file_read, file_write, file_creation, file_deletion, file_close,
process, network (bind, accept, connect), login_logout,
application, exec, all

Flags are stored in an audit control file
 Example
– flags: lo, ad, -all
– dir: /etc/security/audit/audit.log

va-scan
this says audit all login/logout, admin ops and failures of any
type are to be recorded.
Copyright 1999, Marchany
Solaris Auditing

Individual User Auditing: audit_user file
– allows you to audit different actions for
different users
– 3 fields


username:always_audit:never_audit
Process Audit Characteristics

va-scan
Process Preselection Mask: specifies whether
events in each audit event class should generate
audit records.
Copyright 1999, Marchany
Solaris Auditing

Process Audit Characteristics




Audit ID: assigned when a use logs in. The sysadmin can
always trace back to a user.
Audit Session ID: same as above
Terminal ID: hostname and IP address followed by a unique #
that ids the physical device the user use to login. Console = 0.
Audit Costs



va-scan
Increased processing time
Analysis processing time
Disk storage costs
Copyright 1999, Marchany
Solaris Auditing

Strategies
– Random audits of certain % of users
– Real-time monitoring of audit data for unusual
behaviors
– Combining, compressing and reducing multiple
audit logs, offline storage
va-scan
Copyright 1999, Marchany
Solaris Auditing

To Configure Auditing
– Format/partition disk for audit partitions
– Create audit_control file entries for the audit
filesystems
– Define audit classes (audit_class(4)) in
/etc/security/audit_class
– Set up event-to-class mapping(audit_event(4))
in
/etc/security/audit_event
va-scan
Copyright 1999, Marchany
Solaris Auditing

To Configure Auditing
– Determine how much auditing needs to be done
– Determine which machines will be audit servers
– Determing which audit classes will be system-
wide
– Decide on individual user auditing
va-scan
Copyright 1999, Marchany
Solaris Auditing

Command Reference
– allocate, audit, audit_startup, audit_warn,
auditconfig, auditd, auditreduce, auditstat,
bsmconv, bsmunconv, deallocate
va-scan
Copyright 1999, Marchany
Solaris NIS or NIS+?

Network Information Service (NIS)



Formerly Yellow Pages, it allows centralized mgt of common
system/network DB such as password, host, NFS.
Anyone can become a member of an NIS domain allowing
access to NIS DB.
NIS+


va-scan
More secure because you define the client list.
You can selectively allow access to specific NIS+ tables.
DISADV: Other vendors may not have NIS+ clients
implemented yet.
Copyright 1999, Marchany
Solaris NIS/NIS+ Concepts


NIS/NIS+ uses a set of master map/tables that contain
common information for all members of the domain. This
common information can be passwords, host table,
ethernet address, automounter info, mail aliases, etc.
NIS/NIS+ files are stored in the following dirs
–
–
–
–
–
–
–
va-scan
/usr/bin
/usr/lib/nis
/usr/sbin
/usr/lib/
/var/nis/data
/var/nis
/var/nis
NIS+ user commands
NIS+ administrator commands
NIS+ daemons
NIS+ shared libs
all
NIS+ server data files
NIS+ working files
Client info
Copyright 1999, Marchany
all
all
all
server
server
client
Solaris NIS/NIS+ Concepts



NIS/NIS+ Principal are the clients that request NIS+ info.
A client can be a machine or a userid.
NIS/NIS+ Credentials authenticate the Principal requesting
the NIS+ info. USER credentials define a userid access
rights. MACHINE credentials define a client machine’s
access rights.
DES credentials simply use DES to encrypt the
authorization key for a principle. LOCAL credentials are a
map between a UID and their PRINCIPAL name. NIS+
uses LOCAL info to get the DES info for that Principal.
va-scan
Copyright 1999, Marchany
Solaris NIS/NIS+ Planning

Plan your NIS/NIS+ layout
– Determine your server specs: 1 root server/hierarchy, 1
master/domain in the heirarchy, I slave for each domain, Master
disk requirements (15-20MB disk/1000 clients, determine the
admin group and members

Prepare the NIS/NIS+ namespace
– Pick NIS/NIS+ domain names, make sure this name is not easily
guessed (NIS) and not related to anything.
– Initialize the root server (nisserver)

Verify data in the /etc files is correct.
– This data will be used to populate the NIS/NIS+ maps/tables..
va-scan
Copyright 1999, Marchany
Solaris NIS/NIS+ Planning

Populate the NIS/NIS+ maps/tables
– Data is taken from existing /etc files or NIS maps (nispopulate).
Create credentials for the root domain clients, administrator clients
(nisgrpadm, nisping).

Set up the root domain clients (nisclient)
– Slave servers must be set up as clients first



Enable slave servers ( rpc.nisd)
Set up root replicas (rpc.nisd, nisserver)
Set up non-root domains (rpc.nisd, nisserver)
– Create any subdomains in the NIS/NIS+ namespace


Populate table (nispopulate)
Set up non-root domain clients (nisclient)
va-scan
Copyright 1999, Marchany
Solaris NIS/NIS+ Setup


NIS/NIS+ Domain Setup Command Summary
Create Root master server
– nisserver -r -d NEWDOMAIN.
– nisserver -Y -r -r NEWDOMAIN.

Populate the root master tables from /etc files or NIS
– nispopulate -F -p /files -d NEWDOMAIN.
– nispopulate -Y -d NEWDOMAIN. -h NIS-HOSTNAME -
a NIS-IPADDR -y NISDOMAIN

Add additional users to NIS+ admin group
– nisgrpadm -a admin.domain.USER/HOST.domain.

Make a checkpoint of the NIS+ DB
– nisping -C domain.
va-scan
Copyright 1999, Marchany

Solaris NIS/NIS+ Setup
Initialize a new client machine
– nisclient -i -d NEWDOMAIN. -h ROOTHOSTNAME

Initialize users as NIS+ clients
– nisclient

-u
Convert a client machine to server
– rpc.nisd
– rpc.nisd -Y
– rpc.nisd -Y -B

Convert a server to a root replica
– nisserver -R -d NEWDOMAIN. -h CLIENTNAME

Conver a server to nonroot master
– nisserver -M -d NEWSUBDOMAIN.NEWDOMAIN. -h
HOST
va-scan
Copyright 1999, Marchany
Solaris NIS/NIS+

Prerequisites
– Root host /etc/passwd must contain entries for you and every other
admin, you must have a Root Domain Name, the Root Admin
Group Name, the UIDs of all the admins.

Add Root Domain Name, make sure correct
/etc/nisswitch.conf is used, clean out leftover NIS+ files or
processes
– domainname NEWDOMAIN
– domainname > /etc/defaultdomain
– more /etc/nsswitch.conf (search order is nisplus, files), if you
make any changes, restart ncsd daemon /etc/init.d/ncsd stop; sh /etc/init.d/ncsd start
va-scan
Copyright 1999, Marchany
sh
Solaris NIS/NIS+ Root
Domain

Restart keyserv daemon, clean leftover NIS stuff
– ps -e |grep keyserv; kill -9 PID ;
rm -f /etc/.rootkey;keyserv
– ls /var/nis; rm -rf /var/nis/*; ps -ef |grep nis_cachemgr;
kill -9 PID
– Do the same for rpc.nisd and rpc.nispasswdd

Name the root domain admin group
– setenv NIS_GROUP admin.NEWDOMAIN.

Create the root dir
– nisinit -r
– This creates the /var/nis tree
va-scan
Copyright 1999, Marchany
Solaris NIS/NIS+ Root
Domain

Start the NIS+ daemon
– rpc.nisd -Y -B -S 0
– Edit /etc/init.d/rpc, add -B to the EMULYP line. (NIS
compatability only)

Verify root objects were created properly
– ls -l /var/nis/data; nisls -l DOMAINNAME.; niscat -o
DOMAINNAME.

Create Root Domain Subdirs
– /usr/lib/nis/nissetup -Y

Create DES credentials for root master server
– nisaddcred des
– Root server requires DES creds so its request can be auth’d
va-scan
Copyright 1999, Marchany
Solaris NIS/NIS+ Root
Domain

Create the Root Domain admin group
– nisgrpadm -c admin.NEWDOMAIN.

Add rootmaster to the Root Domain Admin group
– nisgrpadm -a admin.NEWDOMAIN. HOSTNAME.

Update the root domain’s public keys
– /usr/lib/nis/nisupdkeys NEWDOMAIN.
– /usr/lib/nis/nisupdkeys org_dir.NEWDOMAIN.
– /usr/lib/nis/nisupdkeys groups_dir.NEWDOMAIN.

Start the NIS+ cache manager
– nis_cachemgr

Restart the NIS+ daemon
– ps -e | grep rpc.nisd; kill -9 PID; rpc.nisd
va-scan
Copyright 1999, Marchany
Solaris NIS/NIS+ Root
Domain

Add your LOCAL credentials to the root domain
– nisaddcred -p UID -P PRINCIPAL-NAME local
– The PRINCIPAL-NAME is your userid+domainname -
marchany.root.domain.

Add your DES credentials to the root domain
– nisaddcred -p unix.UID@NEWDOMAIN. -P PRINCIPAL-
NAME des


Add credentials for the other admins
Add yourself and other admins to the root domain admin
group
– nisgrpadm -a admin.NEWDOMAIN. PRINCIPAL-NAME
va-scan
Copyright 1999, Marchany
Solaris NIS/NIS+ Client Setup

Prequisites
– The Admin must have valid DES creds, modify rights to the NIS+
cred table
– The client must have an entry in /etc/hosts for the root server, a
unique hostname

Create DES credentials for the client system
– Login root master server.
– nisaddcred -p unix.CLIENTNAME@NEWDOMAIN. -P
CLIENTNAME.NEWDOMAIN. des
– where CLIENTNAME is the client hostname

Login client, assign new domain name, check
/etc/nsswitch.conf, restart ncsd if needed, clean out old
NIS+ files
va-scan
Copyright 1999, Marchany
Solaris NIS/NIS+ Client Setup

Initialize the client
– check the client’s /etc/hosts and make sure the root server entry is
correct.
– nisinit -c -H ROOTMASTERNAME



Kill and restart the keyserv daemon
Enter: keylogin -r
Reboot the client
va-scan
Copyright 1999, Marchany
Solaris 8 - Backup I
- Filesystem Backup Strategies
1. MOST IMPORTANT: You have a REGULAR backup schedule and you
FOLLOW it!!!!!!!!!
2. Preparing to do backups:
- decide on frequency. Most common: 1 full backup monthly, weekly incr.
- know the name of the backup device (remote or local).
- know the type of drive (8mm, 4mm, etc.).
- 8mm or 4mm is more practical since disks have GB capacity.
- Forget QIC-150 format.
-know the names of the FS you want to backup.
-have a good estimate of the number of tapes you'll need.
va-scan
Copyright 1999, Marchany
Solaris 8 - Backup II
DETERMINE THE FILESYSTEM RAW DEVICE NAME
1. To find out FS Raw device name, look in /etc/vfstab under the 'device to
fsck' column. Use this name with the 'ufsdump' command.
2. Another way: if the FS is already mounted, enter: devnm <mount-point>
then substitute 'rdsk' for the 'dsk' part of the output.
DETERMINE THE TAPE DRIVE TYPE
1. Assuming there's a tape drive attached to the system, enter:
mt -f /dev/rmt/# status
where # is the unit number of the tape drive, typically 0 or 1.
2. To poll a system to locate all the tape drives connected to it, enter:
for drive in 0 1 2 3 4 5 6 7; do; mt -f /dev/rmt/$drive status; done; exit
va-scan
Copyright 1999, Marchany
Solaris 8 - Backup III
DETERMINE # OF TAPES NEEDED FOR BACKUP
1. Enter: /usr/sbin/df -k <mountpoint>
2. Divide FS size by the tape capacity, e.g. 5GB for 8mm tape, to see how
many tapes are needed.
3. To see how many tapes will be needed before doing an INCREMENTAL
backup, enter:
ufsdump
S
backup-device
Filesystem
The S option returns an estimate of the size in bytes. Divide this number
by the tape capacity to get an estimate of the number of tapes.
va-scan
Copyright 1999, Marchany
Solaris 8 - Backup IV
1. Backup commands:
tar - good for single directory backups, not so
good handling tape errors, symlinks.
ufsdump - dumps the ENTIRE FS. Takes longer but
it gets everything according to the level.
2. ufsdump levels - the level number (0-9) tells the dump program to save everything that
was saved by a HIGHER level dump program. Level 0 is a FULL backup.
A level 5 dump will save all files saved by Levels 5-9 but NOT levels
0-4. Level 5 is typically used for incremental backups.
3. DOING A FULL BACKUP
- shut down to single user: cd /; shutdown; halt then boot -s
- load a tape into the drive
- Enter: /usr/bin/ufsdump 0ucf /dev/rmt/unit# <FS Name>
- replace the tape as needed, label it and save it in a SECURE place.
va-scan
Copyright 1999, Marchany
- reboot the system
Solaris 8 - Backup - V
4. DOING A INCREMENTAL BACKUP
- Shut the system down and reboot into single user mode.
- load the tape drive
- enter: ufsdump [1-9] /dev/rmt/unit# <FS Name>
- load tapes as needed
5. DOING A FULL BACKUP TO A REMOTE DEVICE
- Shutdown and reboot in single user mode
- Make sure the remote machine is up: Enter: rsh <hostname> cat /etc/motd
If you get a valid response, your system is in the remote system's
/.rhosts file. If not, you need to add your system name to the server's
/.rhosts file. NOTE: This is a SECURITY problem if left in all the time.
- Generic command format:
ufsdump options host:device <FS name>
- You must add system name to server /.rhosts, system IP address to
server's /etc/hosts
Copyrightsoftware
1999, Marchany
-va-scan
Look at 3rd party network backup
(Legato, Adstar)
Solaris 8 - Backup VI

Backup files
– ufsdump 0ucf

tf
/dev/rmt/0
Incremental Backup
– ufsdump 5ucf

/home
Verify backup
– ufsrestore

/dev/rmt/0
/dev/rmt/0 /usr
Backup to Remote System
– ufsdump 0ucf remote:/dev/rmt/0 /home
va-scan
Copyright 1999, Marchany
Solaris 8 - Restore I
- COMMANDS:
tar xvf tar-file
OR ufsrestore <options> <device< <FS-to-restore>
1. If run from root, files are restored with the original owner, last modification,
and access permissions. If not, then the restored files belong to the UID that
is running the restore !!!! SECURE THE BACKUP TAPES!!!!
- FINDING WHICH TAPE TO USE IN THE RESTORE
1. To restore an entire FS:
- you need the most recent level 0 backup tape and the most recent
incremental tape (for each level).
2. To find an individual file on the set of tapes:
- Find out the approximate date the file was lost.
- Work backward through your backup tape schedule from highest to
va-scan
Copyright
1999, recent.
Marchany
lowest level and most recent
to least
Solaris 8 - Restore II
- get the tape, load it in the drive
- enter: ufsrestore ta archive-name filename
ufsrestore tf device-name filename
(for tape Archives)
(for single tapes)
RESTORING / or /USR FILE SYSTEMS
1. Shut down system. Replace the bad disk drive.
2. Boot single user from Solaris Installation CD.
3. Partition the disk using the format command
4. Make a new FS (newfs command), verify (fsck command) each partition
except swap.
5. Enter: mount /dev/dsk/cNtNdNsN /mnt
6. Enter: cd /mnt
7. Create the tape devices: tapes
8. Write-protect the tapes.
9. Restore the FS using level 0 then level X: ufsrestore rvf /dev/rmt/X
10. Remove the symbol table file: rm restoresymtable
11. Enter: cd /
12. Enter: umount /mnt; fsck /dev/rdsk/<device name>; init 6
va-scan
Copyright 1999, Marchany
13.
Repeat steps 8-12 to restore
/usr
Solaris 8 - Restore III
Restoring User files
Sun recommends restoring them to /tmp to make sure they’re ok and
then move them to the proper place.
1. su, load the proper backup tape on the drive.
2. Enter: cd /var/tmp (or whatever temporary space you want)
3. Enter: ufsrestore if /dev/rmt/<unit#>
4. Create a list of files to be restored by entering the following commands
at the 'restore> ' prompt.
- ls
- cd dir-name
- to add/remove a name to the list, enter: add <filename>
delete <filename>
- to keep original modes on the files, enter: setmodes
- When done creating the list, enter: extract
- Answer the prompts.
- you'll get a 'restore>' prompt when it's done. Enter: quit
5. Verify the files/dirs were restored using the ls command with the proper
mode.
6.va-scan
Use the 'mv' command to move
the
files
to the target.
Copyright
1999,
Marchany
Solaris 8 - Restore IV
- RESTORING INDIVIDUAL FILES (another way)
1. su, load the tape.
2. Enter: cd /var/tmp
3. Enter: ufsrestore xf /dev/rmt/<unit#> filename
4. Enter: n
for the 'set owner/mode for '.'? [yn] prompt
5.When done, verify everything is ok using the 'ls' command.
6. Use the 'mv' command to move the file to its final resting place.
NOTE:
va-scan
you cannot use 'ufsrestore' to restore files from a set of tapes
created by the Solaris 1.x 'dump' command.
Copyright 1999, Marchany
Solaris 8 - Disk Use I
THINGS TO MONITOR:
1. Available disk space, use the 'df' command
2. Files & directories, use the 'ls', 'du', 'quot', 'find' commands
3. Overloaded FS
4. Quotas
5. Repairing bad disks
SYSTEM LOG FILES - /var/adm, /var/log
aculog
admin.log
lastlog
messages
pacct
sa
sulog
utmp, wtmp
lp/logs
/var/log/syslog*
va-scan
- log of outgoing modem calls
- log of Admin_Tool utility
- history of last logins
- the general system log file
- per process accounting info (if accounting is enabled)
- this directory contains system accounting files
- history of su commands
- history of user, system logins
- LP print service logs
- mail logs, TCPwrapper logs
Copyright 1999, Marchany
Solaris 8 - Disk Use II
1. To find large files
- cd <dir>
- Enter: ls -s |sort -nr |more
- this give the files sorted by block size in reverse order
2. To find files that exceed a certain size NNN blocks
find <dir> -size +NNN -print
3. Finding large directories
du -s <dir>
OR
du -a <dir>
4. To find out who is using the most disk space
quot <FS name>
OR
quot -a <FS name>
Quotas must be enabled for this to work.
va-scan
Copyright 1999, Marchany
Solaris 2.5 - Disk Use III
QUOTAS
- two limits: hard, soft limits. Non-root users cannot exceed hard quota limit.
Users can exceed soft limits for a short period of time.
- Decide what FS will use quotas.
- SETUP:
1. edit /etc/rc2.d/S01MOUNTFSYS, have it init quotas at boot time.
2. edit /etc/vfstab, add mount option 'rq' to the quota'd FS entry.
3. create /<FS name>/quotas file
4. use 'edquota' tool to set up the limits for the quotas.
5. Enable quotas with the 'quotaon' command.
- ADMINISTRATION:
1. edquota, quot, quota, quotaon, quotaoff, quotacheck, repquota
commands handle administration.
va-scan
Copyright 1999, Marchany
Solaris 2.5 - Disk Quota I
SETUP:
1. edit /etc/rc2.d/S01MOUNTFSYS
- add following lines after the 'fi' line:
# Enable checking quota
echo -n 'checking quotas:' > /dev/console
/usr/sbin/quotacheck -a > /dev/console 2>&1
echo 'done' > /dev/console
/usr/sbin/quotaon -a
2. edit /etc/vfstab to activate quotas for the individual FS
- add 'rq' to the mount options field for the FS entry.
- Enter: cd /<FS name>
- Enter: touch quotas
- Enter: chmod 600 quotas
va-scan
Copyright 1999, Marchany
Solaris 2.5 - Disk Quotas II
3. Change the default time limit for limits. Default soft limit time: 1 week.
The time limit applies to the entire FS.
- su
- enter: edquota -t
- 1 entry for each FS with a quotas file in it, time limit=0
means default. Change number with new number. Can be month, day,
hour, min, sec (ex: 1 day, 2 months)
4. Set up User Quotas
- enter: edquota <username>
- Change appropriate limits. Limits are in number of 1K blocks.
5. Once done for one user, you can replicate for others
- enter: edquota -p <username-with-quotas> <user-list>
va-scan
Copyright 1999, Marchany
Solaris 2.5 - Performance I
- Monitoring Performance
1. General tools/commands: sar, sadc, vmstat, iostat, df, ps, Perfmeter,
uptime.
2. General measure of system activity:
System Load Ave. - Ave # of processes in the kernel run Q during a
specified time interval.
3. Process is in the run Q if:
- not waiting for an external event ( echo character)
- not in a wait state
- not stopped via ctl-Z.
4. It's not very accurate because:
- it marks as runable all jobs waiting for Disk I/O (NFS also). SLA can
climb if the NFS servers are down because the NFS process is runable.
- doesn't account for scheduling priority.
va-scan
Copyright 1999, Marchany
Solaris 2.5 - Performance II
Performance Monitoring Commands
1. uptime - reports SLA for 1, 5, 15 minute intervals
SLA > 10
4<SLA<7
0<SLA<3
- may have an overworked CPU
- borderline
- OK
These measurements should taken over a period of time (1 day) and
averaged out to determine an overall SLA.
2. vmstat - reports virtual memory stats, shows CPU load, paging, etc.
Procs - # of procs in run queue (r), blocked (b), waiting for resources,
swapped (w), waiting for processing resources to finish.
Memory - currently available swap space (swap), free list size (free)
Page - Pages reclaimed (re), minor faults (mf), Kbytes paged in (pi),
Kbytes pages out (po), Kbytes freed (fr), short term memory
va-scan
1999, Marchany
shortfall (de), pagesCopyright
scanned
by clock algorithm (sr)
Solaris 2.5 - Performance III
vmstat output (cont'd)
Disk - # of disk ops/second
CPU - CPU usage times, user time (us), System time (sys), idle time (id).
These numbers are %.
Hints:
Page stats are accrued from last report. It includes page-ins from process
starts. If po > 0 for numerous obs, then you may have memory problem.
if de > 0 then you have serious memory problem.
vmstat -s
vmstat -S
vmstat -c
va-scan
gives total system values since boot.
gives swapping stats in addition to paging stats.
gives cache flushing stats since boot.
Copyright 1999, Marchany
Solaris 2.5 - Performance IV
iostat gives disk I/O stats.
iostat <interval> reports stats every <interval> seconds. The first line gives
stats since boot and each line after that gives the interval stats.
- each disk gives block/second (bps), transactions/second (tps) and
average service time in msec (serv).
- iostat -xtc
r/s
w/s
Kr/s
wait
actv
%w
%b
va-scan
gives extended disk stats for each disk:
- reads/sec
- writes/sec
- Kbytes/sec
- average queue length
- average # of transactions being actively serviced
- % time the Q is not empty
- % time the disk is busy
Copyright 1999, Marchany
Solaris 2.5 - Performance V
Performance Meter (perfmeter)
- graphical display of the following usage parameters:
CPU, Ethernet packets/second, Jobs swapped/second, # of device
interrupts/second, Disk transfers/second, # of context switches/second,
ave. # of runable processes/minute, Ethernet collision/second.
- This commands gives you almost immediate feedback of system activity.
AUTOMATIC COLLECTION OF SYSTEM ACTIVITY
3 commands: sadc, sa1, sa2
sadc - periodically collects system data and saves it in a file (1 per day).
Data files are placed in /var/adm/sa/saXX where XX is the date. Should
be run at boot (/etc/init.d/perf) and periodically via cron file entry
which runs the sa1 command.
sa2
- invokes sar command and
writes1999,
theMarchany
ascii output to a file.
va-scan
Copyright
Solaris 2.5 - Performance VI
SETTING UP AUTOMATIC DATA COLLECTION
1. edit /etc/init.d/perf
- uncomment line that has 'sadc' in it.
2. edit /var/spool/cron/crontabs/sys
- uncomment lines that have 'sa1‘ in them.
COLLECTING SYSTEM ACTIVITY DATA WITH sar COMMAND
sar -a
sar -b
sar -c
sar -d
sar -g
sar -u
sar -A
va-scan
- gives file access operations
- gives system buffer activity
- gives system call activity
- gives disk activity stats.
- gives page-out and free memory stats
- gives cpu utilization
- gives overall system performance stats
Copyright 1999, Marchany
VT Scholarpac Support
1. VT is a member of the Sun Scholarpac Consortium. Primary contact
is Randy Marchany, 1-9523 (randy.marchany@vt.edu). Secondary
contact is Wanda Baber(wbaber@vt.edu). Sun Sales rep
is Cole Clark (cole.clark@east.sun.com). See www.cc.vt.edu for info.
2. Scholarpac software is stored on dock.cc.vt.edu. This machine is the
Solaris license server, the Answerbook online library, a Solaris Patch
Archive as well as IMSL, Mathematica and Matlab server. Solaris
Compiler, Sparcworks software is available online from this system.
3. To access the license server:
- install the Sun license software on your machine.
- Create a local mount point for the license file directory, for example,
/sun_license.
- NFS mount dock.cc.vt.edu:/scholarpac/license_dir to your local
mount point.
- set the environment variable LM_LICENSE_FILE to point to the
/sun_license/licenses_combined file. Note that /sun_license was used
from the previous example.
- Test the connection by using
the -xlicinfo
option of a compiler command.
va-scan
Copyright
1999, Marchany
make - I


Make utility builds software kits by issuing the commands needed to
build the software.
It uses dependencies to describe the software components.
– C source program - test.c
– cc -c test.c -> compile test.c, place object code in test.o
– Test.o depends on test.c. If test.c changes, so does test.o


Make knows which files have been modified and figures out what files
have to be updated.
If the components are newer than the whole, then the whole is rebuilt.
va-scan
Copyright 1999, Marchany
Make - II

Makefile
– Make looks for makefile(Makefile) for instructions
– Sample line:
 General format: TARGET: DEPENDS; COMMANDS
 Test:
test.c test1.c
<TAB> cc -O -o test test.c test1.c
– Means the target, Test, depends on test.c and test1.c. If either of these 2
files is modified then Test is rebuilt.
– Makefile contains the commands needed to build a program
 Separate dependency line for each component and target
 Program: main.o sub1.o sub2.0
cc main.o sub1.o sub2.o -o Program
 Main.o: main.c ; cc -O -c main.c
 Sub1.o: sub1.c ; cc -O -c sub1.c
 Sub2.o: sub2.c ; cc -O -c sub2.c
va-scan
Copyright 1999, Marchany
Using Make to Build Freeware


Most Freeware (ssh, pgp) use make and configure scripts to build the
software
General steps:
– Setenv LM_LICENSE_FILE license-file
– Set path=( $path /usr/ccs/bin /opt/SUNWspro/bin)
 You may have to put /opt/SUNWspro/bin ahead of /usr/ucb
– Cc -xlicinfo
to verify compiler works
– Cd src-tree
– ./Configure
– Make
– Make install
va-scan
Copyright 1999, Marchany
Make - IV
va-scan
Copyright 1999, Marchany
SSH - I
va-scan
Copyright 1999, Marchany
SSH - II
va-scan
Copyright 1999, Marchany
Workstation Config Summary
va-scan
Copyright 1999, Marchany
Workstation Config Summary
va-scan
Copyright 1999, Marchany
Workstation Config Summary
va-scan
Copyright 1999, Marchany
VT Scholarpac
Support
4. dock.cc.vt.edu has online Answerbooks for Solaris 8. Point your
browser to dock.cc.vt.edu:8888 to get access.
5. To install Solaris Scholarpac Software, Compilers, Sparcworks:
- Option 1: get the CD from the CC by contacting Kathy Williams
(kathyw@vt.edu), install from CD and RETURN it.
- Option 2: install over the net from dock.cc.vt.edu.
- NFS mount dock.cc.vt.edu:/vt/scholarpac
- For compilers, cd Compilers and run spro_install or spro_install_tool.
- For other packages, cd to the appropriate directory
- follow the installation prompts.
va-scan
Copyright 1999, Marchany
What's Up, Dock?
1. dock.cc.vt.edu:/vt is a software repository for a wide variety of platforms.
2. What's in the directories?
/3rdparty - Contains mathematica 3.0 installation kits for Sun, HP, IBM,
DEC, SGI. (RESTRICTED), CRACK, gzip/gunzip, lsof,
nfswatch, sas6.11, TCP wrapper code
/online_docs- Online documentation for HP-UX, IBM AIX and DEC
/scholarpac - Sun Compilers (Compilers), Solstice Backup (Backup_x.x.x),
CDE1.01, Disksuite 4.1, HP JetAdmin, Sun Patches
va-scan
Copyright 1999, Marchany
What’s
Dock?
What'sUp
Up,
Dock?
OTHER RESOURCES AT VT FOR SUN SYSTEM MANAGERS
1. The VT Sun Users Group consists of the Sun System managers on
campus. The mailing list is at: vt-sug@solaris.cc.vt.edu.
To become a member, contact Randy Marchany
(randy.marchany@vt.edu).
This mailing list is reflected to the local newsgroup vt.sys.sun.
Other newsgroups: comp.sys.sun.admin,
comp.unix.admin, comp.unix.solaris, comp.security.misc,
comp.security.unix
2. Sun Resources at ftp.vt.edu
Located in the /pub/cc/Solaris directory. Contains:
-security checklist, some of the standard freeware tools
va-scan
Copyright 1999, Marchany
Tools

My Personal Favorites:
–
–
–
–
–
–
–
va-scan
COPS, TRIPWIRE
SATAN, ISS
SWATCH, NFSWATCH
TCP Wrappers
Sniffers (IPTRACE, TCPDUMP)
CRACK
PHF_Trace
Copyright 1999, Marchany
Download