Business Website Links
Website Design, PR, and Surveys
Your One-Stop Shop for the
Internet & Beyond

Home Company Info Pricing Contact Client Directory Computer Tips News Testimonials

Computer Tips










Visit us often.  Computer tips updated daily.  Click here to--> "Tell a friend" so they can get updated computer tips, too.  Please visit our clients, as they support the computer tips page.

If you would like to submit a tip send us an email with your tip to

Tip: Stop advertising system information (Solaris 8/9)

  • It's important to determine what kind of information people can get from your system any time of day. You may be surprised to find out that system details are made available on the internet. Use finger to see what information's being handed out to hackers. Then, make changes to remove version information, names, etc., that may be used by a hacker in their medley of methods applied against your organization's security system.

Tip: Save time looking through lists (Solaris 8/9)

  • It's often time consuming to look through a long list of items trying to find what you need. If you have a mixed up list that you use all of the time, such as a phone list or list of important companies, put the listing in alphabetical order with the sort command.
  • For example, if you have a list of user names in a file called usernames.txt, you could use sort, as follows:
    • $sort usernames.txt
    • allan
    • billings
    • corning
    • dillon
    • ellingsworth
    • fredricks
    • gallaway
    • henry
    • inverness

Tip: Solaris Capability + Solaris Knowledge = Salary (Solaris 8/9)

  • The debate over proof of performance and proof of knowledge goes on among Solaris systems administrators. While many argue the need to be able to accomplish business goals with the actual system, another school of thought invites Solaris experts to put their knowledge to the test. The bottom line may be in the dollars you get paid. Here's a chart for comparison. You can decide whether certification offers you anything.
    • Certification Type Salary Average*
    • Sun Certified Developer for the Java 2 Platform $75,040
    • Sun Certified Network Administrator for Solaris $70,720
    • Sun Certified Programmer for the Java 2 Plat-form $65,190
    • Sun Certified Systems Administrator $69,640
    • Sun Certified Web Component Developer for the Java 2 Platform $63,230

Tip: Tighten Solaris security: Make a patcher's "to do" list (Solaris 8/9)

  • You probably go back and forth to Sun's website to check on your requirements for Solaris patches. However, how well are your applications patched?
  • You should make a list of older applications you have running on Solaris. Some of them may be putting your system's security at risk. For example, Kerberos needs patching to prevent password-related data storage in plain text.
  • Figure out what you need to do to upgrade or tighten the security of your systems, services, and resources. Then, when you’ve finished the upgrades, you can check the item off the list knowing that you’ve added value to your organization and potentially thwarted losses from internal or external mischief.

Tip: Backup your Oracle database on your Solaris system (Solaris 8/9)

  • Want a script that dynamically backs up an Oracle database from your Solaris terminal? Try this script submitted by Ravi Nookla. The output of this script produces a backup of the base table.
    • set echo off
    • set feed off
    • ACCEPT own CHAR prompt 'Enter Value For Schema Name :<>: ';
    • ACCEPT tn CHAR prompt 'Enter Value For Table Name :<>: ';
    • prompt
    • prompt Generating The Insert Statements.... Please Wait...
    • prompt
    • set ver off
    • create table ins_cols(owner,tname,colid,colname,datatype)
    • storage(initial 200k next 200k maxextents 512)
    • as select owner,table_name,column_id,column_name,data_type from
    • dba_tab_columns where table_name=upper('&tn') and
    •  owner=upper('&own')
    • /
    • create table ins_text (lineno NUMBER,text varchar2(4000))
    • storage(initial 200k next 200k maxextents 512)
    • /
    • declare
    • cursor c1 is select owner,tname,colid,
    • =>colname,datatype from ins_cols
    • order by colid;
    • v_colid number;
    • v_maxcolid number;
    • v_line number:=1;
    • v_colname varchar2(4000);
    • v_tname varchar2(100);
    • v_datatype varchar2(100);
    • v_owner varchar2(100);
    • v_str varchar2(4000);
    • v_str1 varchar2(4000);
    • v_str2 varchar2(4000);
    • v_str3 varchar2(4000);
    • v_str4 varchar2(4000);
    • v_str5 varchar2(4000);
    • v_str6 varchar2(4000);
    • procedure write_out(p_line INTEGER,p_str VARCHAR2) is
    • begin
    • insert into ins_text (lineno,text) values (p_line,p_str);
    • commit;
    • end;
    • begin
    • select max(colid) into v_maxcolid from ins_cols;
      open c1;
    • loop
    • fetch c1 into v_owner,v_tname,v_colid,v_colname,v_datatype;
    • exit when c1%notfound;
    • if v_colid < v_maxcolid then
    • v_str:=v_colname||',';
    • v_str1:=v_str1||v_str;
    • else
    • v_str:=v_colname||')';
    • v_str1:=v_str1||v_str;
    • end if;
    • end loop;
    • close c1;
    • v_str2:='select '||chr(39)||'insert into
    • '||v_owner||'.'||v_tname||'('||v_str1||' VALUES ('||CHR(39)||',';
    • write_out(v_line,v_str2);
    • v_line:=v_line+1;
    • open c1;
    • loop
    • fetch c1 into v_owner,v_tname,v_colid,v_colname,v_datatype;
    • exit when c1%notfound;
    • if v_colid < v_maxcolid then
    • if instr(v_datatype,'CHAR')>0 then
    • v_str3:='decode('||v_colname||','||''''''||','||chr(39)
    • ||'NULL'||chr(39)||','||'chr(39)||'||'TRIM('||v_colname||')||chr(39)'||')||'
    • ||'chr(44)||';
    • write_out(v_line,v_str3);
    • v_line:=v_line+1;
    • elsif v_datatype='NUMBER' then
    • v_str4:='NVL('||'TO_CHAR('||v_colname||')'||','||CHR(39)
    • ||'NULL'||CHR(39)||')'||'||chr(44)||';
    • write_out(v_line,v_str4);
    • v_line:=v_line+1;
    • elsif v_datatype='DATE' then
    • v_str5:='decode('||v_colname||','||''''''||','||chr(39)||'NULL'||chr(39)||','
    • ||chr(39)||'TO_Date('||chr(39)||'||'||'chr(39)||'
    • ||'TO_Char('||v_colname||','||'''DD-MON-YYYY HH:MI:SS AM'''||')'
    • ||'||chr(39)||'||CHR(39)||','||CHR(39)||'||'||CHR(39)||'''''DD-MON-YYYY
    • HH:MI:SS AM'''''
    • ||CHR(39)||'||'||CHR(39)||')'||CHR(39)||')||'||'chr(44)||';
    • write_out(v_line,v_str5);
    • v_line:=v_line+1;
    • end if;
    • else
    • if instr(v_datatype,'CHAR')>0 then
    • v_str3:='decode('||v_colname||','||''''''||','||chr(39)
    • ||'NULL'||chr(39)||','||'chr(39)||'||'TRIM('||v_colname||')||chr(39)'||')||'
    • ||''');''';
    • write_out(v_line,v_str3);
    • v_line:=v_line+1;
    • elsif v_datatype='NUMBER' then
    • v_str4:='NVL('||'TO_CHAR('||v_colname||')'||','||CHR(39)
    • ||'NULL'||CHR(39)||')'||'||'||''');''';
    • write_out(v_line,v_str4);
    • v_line:=v_line+1;
    • elsif v_datatype='DATE' then
    • v_str5:='decode('||v_colname||','||''''''||','||chr(39)||'NULL'||
    • chr(39)||','||chr(39)||'TO_Date('||chr(39)||'||'||'chr(39)||'
    • ||'TO_Char('||v_colname||','||'''DD-MON-YYYY HH:MI:SS AM'''||')'
    • ||'||chr(39)||'||CHR(39)||','||CHR(39)||'||'||CHR(39)||'''''DD-MON-YYYY
    • HH:MI:SS AM'''''
    • ||CHR(39)||'||'||CHR(39)||')'||CHR(39)||')||'||''');''';
    • write_out(v_line,v_str5);
    • v_line:=v_line+1;
    • end if;
    • end if;
    • end loop;
    • select distinct owner,tname into v_owner,v_tname from ins_cols;
    • v_str6:='from '||v_owner||'.'||v_tname||';';
    • -- v_str6:='from '||v_owner||'.'||v_tname||' where deptno=20;';
    • write_out(v_line,v_str6);
    • v_line:=v_line+1;
    • close c1;
    • end;
    • /
    • set termout off
    • set linesize 2000
    • set head off
    • set trimspool on
    • set pages 2000
    • spool Ins
    • select text from ins_text order by lineno;
    • spool off
    • spool Insert
    • @ins.lst
    • spool off
    • DROP TABLE ins_cols
    • /
    • DROP TABLE ins_text
    • /
    • set echo on
    • set termout on
    • set feed on
    • set ver on
    • set head on
    • set linesize 80
    • ed Insert.lst
Tip: Check your process timing with ptime (Solaris 8/9)
  • If you're interested in real, user, and system time required to run a process, consider using the ptime command. The difference between time and ptime is that ptime uses the /proc file system to get the data. In this example, the ls command took 0.041 seconds to execute, including 0.004 user seconds and 0.007 system seconds.
    • $ ptime /bin/ls /etc/rcd.3
    • README S15nfs.server S76snmpdx S77dmi
    • real 0.041
    • user 0.004
    • sys 0.007  

Tip: Limit LDAP configuration changes to root (Solaris 8/9)

  • The slapd.conf file is an important part of the LDAP (Lightweight Directory Access Protocol) server that needs to be limited in terms of accessibility. That's because it has information that can compromise the directory service if an unauthorized user gets access. To be safe, set the permissions of the slapd.conf file to 0600 to limit access to root. That way, other users won't be able to view the contents or modify it without authorization.

Tip: Store passwords more compatibly with hashing (Solaris 8/9)

  • With OpenLDAP (Lightweight Directory Access Protocol) you can use several hashing mechanisms, such as {SSHA}, {SHA}, {SMD5}, {CRYPT}, and {CLEARTEXT}. The OpenLDAP default is {SSHA}, which stands for Salted Secure Hash. This default is considered by many to be the most secure format.
  • Not everyone's system is compatible with {SSHA}. Because of this, you can specify the hashing mechanism by adding this entry to the slapd.conf file (after the entry containing dc=my-domain,dc=org):
    • password-hash {SSHA}

Tip: Raise the security of your LDAP server (Solaris 8/9)

  • Improving Lightweight Directory Access Protocol (LDAP) can be accomplished by the use of security certificates. You can configure the slapd daemon to use the certificates generated by a Certificate Authority (CA). All you need to do is add the following lines to the slapd.conf file, right before the database definitions in the file:
    • TLSCipherSuite HIGH:MEDIUM:+SSLv2
    • TLSCertificateFile /var/ssl/slapd.cert
    • TLSCertificateKeyFile /var/ssl/slapd.key
    • TLSCACertificateFile /var/ssl/rootCA.cert

Tip: Get the scoop on sniffers (Solaris 8/9)

  • When you permit remote access application commands like rlogin, telnet, or ftp on Solaris, someone may try to intercept your telnet, login, or ftp packets with a sniffer (software programs that grab and copy your Solaris system's traffic).
  • Hackers can monitor your system with handy tools, such as sniffers. While a sniffer is an application that's put to work to for good and bad -- checking the system for access and information -- you can sniff back.
  • Try running the traceroute command. You can identify the number of intermediate hosts between your client and Solaris server.

Tip: Use the LDAP (Lightweight Directory Access Protocol) server to enhance Solaris security (Solaris 8/9)

  • There are many ways to improve the security of your Solaris machine when providing LDAP services. For example, you can raise the security of Solaris as an LDAP server by allowing certificates, storing passwords, and adding Access Control Lists (ACLs). To allow the slapd daemon to use the certificates generated by a Certificate Authority (CA), you must add the lines to the slapd.conf file:
    • TLSCipherSuite HIGH:MEDIUM:+SSLv2
    • TLSCertificateFile /var/ssl/slapd.cert
    • TLSCertificateKeyFile /var/ssl/slapd.key
    • TLSCACertificateFile /var/ssl/rootCA.cert
  • Another thing to notice when you're modifying slapd.conf: add the entry to the section before any database definitions.

Tip: Use netstat to dig up information (Solaris 8/9)

  • You can use netstat to get information about your Solaris system.  Here's a list of major tasks you can perform with netstat (the format is Task, Netstat command):
    • Displays the number of active established connections, netstat -a | grep EST | wc -1
    • Show the TCP/IP network interfaces, netstat -i
    • Displays all of the route table, netstat -ar
    • Shows the state of all sockets, netstat -a
    • Shows only the IP address when showing the state, netstat -an
    • Displays the ICMP, IP, UDP, TCP interface statistics, netstat -is

Tip: Use two steps to create NIS+ tables (Solaris 8/9)

  • If you want to crate a table for network Information Service Plus (NIS+), it's a two-step process.  One to create the table, and another to populate the table with the data you want.  Create an NIS+ table in Solaris with the following command, putting your own table name where [table name] appears:
    • nistbladm -c table-type column-spec.... [table name]
  • Populate your NIS+ table with data using the nispopulate command.

Tip: Get rid of unnecessary NIS+ tables (Solaris 8/9)

  • It's always a good idea to clean up files or delete unused items when performing Solaris system maintenance, including Network Information Service Plus (NIS+) tables you aren't using.
  • You can delete an NIS+ table using the nistbladm command with the -d option with the following syntax, replacing the [table name] with the name of the table you're deleting:
    • nistbladm -d [table name]
  • One last note; you'll also need to have destroy rights in the directory.

Tip: Keep up with Solaris security problems (Solaris 8/9)

  • With today's rate of speed at which security problem surface, it's a good idea to keep on top of what's going on.  You can find CERT Advisories at the CERT organization's Web site, located at  These advisories contain the latest-breaking news about Solaris system vulnerabilities and their status, such as whether the vulnerability has just been reported and in the process of being verified, in the process of being fixed, or whether there are fixes available already available already available.  Make vulnerability research a regular part of your Solaris systems administration routine.

Tip: Learn what's going on with telnet (Solaris 8/9)

  • You may use telnet sessions to take advantage of your ability to work on Solaris remotely.  If you ever need to know what's going on with that telnet connection, use the status command:
    • telnet> status
  • Your status data will print in the terminal.  To get back to you session, press [Enter].

Tip: Be able to read the signals (Solaris 8/9)

  • The psig command is used to display all of the signals associated with the current process.  If you've ever wondered what the process signals are, here's a chart to help you interpret the output of psig:
    • Signal      Code   Action        Description
    • SIGHUP 1  Exit    Hang up
    • SIGINT  2  Exit    Interrupt
    • SIGQUIT 3 Core   Quit
    • SIGILL  4   Core   Illegal instruction
    • SIGTRAP 5 Core   Trace or breakpoint trap
    • SIGABRT 6 Core   Abort
    • SIGEMT  7 Core    Emulation trap
    • SIGFPE   8 Core   Arithmetic exception
    • SIGKILL  9 Exit    Killed
    • SIGBUS  10  Core   Bus error
    • SIGSEGV 11  Core  Segmentation fault
    • SIGSYS   12  Core  Bad system call
    • SIGPIPE   13  Exit   Broken pipe
    • SIGALRM  14  Exit   Alarm Clock
    • SIGTERM  15  Exit   Terminated

Tip: Saving space in your tables really does matter (SQL Server 6.5/7.0/2000)

  • As the price of head-disk space has fallen sharply over the past few years, a lot of people now argue that saving space in SQL Server tables is no longer an important concern.  This is absolutely untrue!  From a performance standpoint, especially for tables that will grow to be very large in size anyway, you should definitely try to save space whenever you can.  The larger the table, the longer a table scan will take.  The longer a table, the longer the index as well; and the longer the index, the longer an index scan will take.  It's just a matter of logic.  The larger the amount of hard-drive space SQL Server has to access, cheap though it may be to make available to SQL Server, the greater the duration of your queries.  There's no great mystery here.  And even a small amount of saving can really add up in a large table.

Tip: Use separate scripts for multiple versions of systems (Solaris 8/9)

  • You can use shell scripts to start other systems from your Solaris server so as not to interfere with the current operation of your Solaris operating environment.
  • If you have multiple versions of a system running from a single Solaris machine, you can use two different shell scripts to keep two the two systems running, such as multiple Oracle database servers.  Having two startup scripts helps you ensure there's no interference between the two script-based operations.

Tip: When feeling disconnected, test FTP with telnet (Solaris 8/9)

  • If you think you're having problems with your file transfer protocol (FTP) connections, you can use the telnet command to test your supposition.  First, check the /etc/services file for your FTP port number information:
    • # grep ftp /etc/services
  • Using your port number, use telnet, with the following syntax:
    • # telnet localhost [port number]
  • If you don't get a response from the system, the connection has a problem, as you suspected.  If you have a connection, a message indicating that you're connected to the local host appears.

Tip: Using Washington for FTP security (Solaris 8/9)

  • If you're managing users with anonymous file transfer protocol (FTP), consider the Washington FTP daemon (WU-FTD).  You can set download limits on a per-user basis or per-session basis with WU-FTPD.  This daemon can be helpful in your efforts in providing better security and avoiding denial of service (DoS) attacks.  You can set options for WU-FTPD as follows:
    • Option         Setting     Application
    • delete          yes         guest/anonymous
    • overwrite      yes         guest/anonymous
    • rename         no          guest/anonymous
    • chmod          yes         anonymous
    • umask           no          anonymous

Tip: Got NFS trouble?  Try stopping and starting the service (Solaris 8/9)

  • Solaris provides read and write access to volumes that are exported versions of local file systems through the Network File System (NFS).  If you ever encounter NFS problems running NFS, you can check to see if its two daemons--nfsd and mounted--are running.  You can check either daemon.
  • To check the nfsd daemon, use the command: ps -eaf | grep nfsd To check the mounted daemon, use the command: ps -ear | mounted
  • The commands will return process entries.  If there are none simply run the stop and start commands, as so:
    • # /ect/init.d/nfs.server stop
    • # /ect/init.d/nfs.server start

Tip: If you want remote printer access, use lpadmin (Solaris 8/9)

  • Solaris has a command called lpadmin that you can use to set up an association to a central print service.  To set up local access to a printer called matilda on the host called waltzing, use the lpadmin command with the -p and -s options:
    • lpadmin -p matilda -s waltzing
  • Now, your users can get status information on matilda, too.  All they need to do is use lpstat with the -p option and the printer name:
    • lpstat -p matilda
    • printer matilda is idle.  enabled since May 10 12:45 20004.  available.

Tip: Check if a host is running (Solaris 8/9)

  • You can check to see if a host machine is accessible using the ping command with the host name.  For example, if the host name is rattlesnake, enter:
    • $ping rattlesnake
  • If the host is up, you'll get the reply:
    • rattlesnake is alive
  • If rattlesnake isn't accessible, another message, which is an error message, pops up on your interface:
    • Request timed out
  • It's actually faster to ping first, and then work hard to access a machine.  If you or your users aren't using ping, try it before spending countless minutes trying to access it with the various commands in your repertoire.

Tip: If your password file isn't accurate, check it with pwck (Solaris 8/9)

  • Solaris has a command to check the accuracy of your password file.  You can use the pwck command to read /etc/passwd to verify that you've got the right number of fields for each entry in the file.  It also:
    • Validates what you've put in the username, UID, and GID fields of /etc/passwd
    • Checks if your home directory exists
    • Makes sure the default shell noted in /etc/passwd is valid

Tip: If you need to work with the network interface, use ifconfig (Solaris 8/9)

  • You can view, modify, and configure the network interface with the ifconfig.  Using the ifconfig command by itself prints usage information for you to view.  Other ways you can use the ifconfig command include:
    • ACTON                                                     COMMAND
    • Make the hme0 interface available to the OS   ifconfig hme0
    • plumb
    • Remove the hme0 from the OS                      ifconfig hme0
    • unplumb
    • Create two new logical interfaces                  ifconfig hme0 :1
    • plumbIfconfig
    • hme0 :2 unplumb
    • Remove the two logical interfaces                  ifconfig hme0 :1
    • unplumbIfconfig
    • hme0 :2 unplumb
    • View all interfaces                                       ifconfig -a
    • Bring up the hme0 interface                          if config hme0 up
    • Take down the hme0 interface                      ifconfig hme0
    • down
    • obtain an IP address from a DHCP server        ifconfig hme0


Home | Company Info | Pricing | Contacts | Client Directory | Computer Tips | NewsTestimonials |
Disclaimer | Our Privacy Policy | Terms of Use | Site Map

Business Website Links, LLC 8041 Via Hacienda Palm Beach Gardens Florida 33418

Copyright ©2005 all rights reserved by Business Website Links, LLC
Web Host and Design by Business Website Links, LLC