Patch Name: PHCO_18925 Patch Description: s700_800 10.20 user/group(add/mod/del) Cumulative patch Creation Date: 99/06/17 Post Date: 99/06/25 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: OS-Core.SYS-ADMIN OS-Core.ADMN-ENG-A-MAN Automatic Reboot?: No Status: General Release Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_18925 Symptoms: PHCO_18925: 1. usermod(1M) dumps core while modifying users whose home directory is shared and the modification involves processing of the shared directory. 2. useradd(1M) zeroes /etc/group file when file system is full. PHCO_17815: userdel(1M) and usermod(1M) remove the NIS entry from the /etc/passwd file after performing the required operations. PHCO_17189: 1. useradd(1M) silently changes the owner and group of shared home directory and files under it. 2. useradd(1M) overwrites existing dot files ($HOME/.* files) even if -m option is not specified. PHCO_15623: useradd(1m) enhanced for speed. PHCO_15216: useradd(1M) can not process expired dates set to dates of year 2000 and 2001 in mm/dd/yy format PHCO_12184: useradd(1M) does not allow multiple users to share generic home directory. usermod(1M) reports "Can not modify home directory" when changing primary group of a user. PHCO_9831: useradd(1M) claims passwd file is busy if system is NIS client. PHCO_9598: PHCO_8450 erroneously reports an error "Cannot create home directory" PHCO_8450: The commands useradd(1M) and usermod(1M) reports error even after achieving the required functionality. Defect Description: PHCO_18925: 1. usermod(1M) dumps core while modifying the users whose home directory is shared and the modification involves processing of the shared directory. This occured due to a bug in the function which finds out whether the home directory is shared or not. Resolution: The function has been modified to avoid the unconditional free() of an uninitialised char pointer. 2. useradd(1M) zeroes /etc/group file when the file system is full. useradd(1M) tries to create a temporary file and modify it for making changes to the group file. When the file system is full and no more write is possible, the temporary file will be created with zero bytes and useradd will copy this file to /etc/group. Resolution: The useradd code has been modified to make sure that writes to the temporary file was successful by checking the return value of fclose(). PHCO_17815: userdel(1M) and usermod(1M) remove the NIS entry from the /etc/passwd file after performing the required operations. This is caused by a bug in the routine which modifies the passwd file. Resolution: Lines to add the NIS entry at the end of the passwd file have been added to the source code, which was removed by a previous fix. PHCO_17189: 1. useradd(1M) silently changes the owner and group permissions of an existing home directory to the new user instead of sharing it with the current owner. This is due to a bug in processing the passwd entries for checking whether the directory specified in the command line is the home directory of another user or not. 2. useradd(1M) overwrites the existing dot files ($HOME/.* files) in a home directory with those in the /etc/skel directory even if the -m option is not specified. PHCO_15623: useradd(1m) enhanced for speed. PHCO_15216: useradd(1M) can not process expired dates set to dates of year 2000 and 2001 in mm/dd/yy format PHCO_12184: useradd(1M) does not allow multiple users to share generic home directory. usermod(1M) reports "Can not modify home directory" when changing primary group of a user. PHCO_9831: useradd(1M) claims passwd file is busy if system is NIS client. PHCO_9598: PHCO_8088 erroneously reports an error "Cannot create home directory" PHCO_8450: The commands useradd(1M) and usermod(1M) reports error even after achieving the required functionality. SR: 1653307256 1653298778 5003451898 1653285346 5003443283 5003443788 5003415760 1653224352 5003363333 5003346510 1653181966 5003345504 Patch Files: /usr/lib/nls/msg/C/ugm.cat /usr/newconfig/etc/default/useradd /usr/sbin/groupadd /usr/sbin/groupdel /usr/sbin/groupmod /usr/sbin/useradd /usr/sbin/userdel /usr/sbin/usermod /usr/share/man/man1m.Z/useradd.1m /usr/share/man/man1m.Z/userdel.1m /usr/share/man/man1m.Z/usermod.1m what(1) Output: /usr/lib/nls/msg/C/ugm.cat: None /usr/newconfig/etc/default/useradd: None /usr/sbin/groupadd: $Revision: 78.4.1.1 $ $Revision: 78.8.1.10 $ PATCH_10_20: groupadd.o ugm_cmn.o 99/06/17 /usr/sbin/groupdel: $Revision: 78.4.1.1 $ $Revision: 78.8.1.10 $ PATCH_10_20: groupadd.o ugm_cmn.o 99/06/17 /usr/sbin/groupmod: $Revision: 78.4.1.1 $ $Revision: 78.8.1.10 $ PATCH_10_20: groupadd.o ugm_cmn.o 99/06/17 /usr/sbin/useradd: $Revision: 78.5.1.6 $ $Revision: 78.8.1.10 $ PATCH_10_20: useradd.o ugm_cmn.o /usr/lib/year2000.o 99/06/17 /usr/sbin/userdel: $Revision: 78.2.1.1 $ $Revision: 78.8.1.10 $ PATCH_10_20: userdel.o ugm_cmn.o 99/06/17 /usr/sbin/usermod: $Revision: 78.3.1.2 $ $Revision: 78.8.1.10 $ PATCH_10_20: usermod.o ugm_cmn.o /usr/lib/year2000.o 99/06/17 /usr/share/man/man1m.Z/useradd.1m: None /usr/share/man/man1m.Z/userdel.1m: None /usr/share/man/man1m.Z/usermod.1m: None cksum(1) Output: 1980687929 2716 /usr/lib/nls/msg/C/ugm.cat 912091837 67 /usr/newconfig/etc/default/useradd 2326071259 36864 /usr/sbin/groupadd 2326071259 36864 /usr/sbin/groupdel 2326071259 36864 /usr/sbin/groupmod 759681915 53248 /usr/sbin/useradd 3689797662 40960 /usr/sbin/userdel 1570033445 45056 /usr/sbin/usermod 4117134162 4331 /usr/share/man/man1m.Z/useradd.1m 2223086655 2225 /usr/share/man/man1m.Z/userdel.1m 3765360681 3901 /usr/share/man/man1m.Z/usermod.1m Patch Conflicts: None Patch Dependencies: s700: 10.20: PHCO_16303 s800: 10.20: PHCO_16303 Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_8450 PHCO_9598 PHCO_9831 PHCO_12184 PHCO_15216 PHCO_15623 PHCO_17189 PHCO_17815 Equivalent Patches: None Patch Package Size: 250 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHCO_18925 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_18925.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHCO_18925.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_18925. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHCO_18925.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_18925.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None