Sponsored Content
Top Forums Shell Programming and Scripting change home directory by modifying passwd Post 302238856 by Franklin52 on Monday 22nd of September 2008 07:42:21 AM
Old 09-22-2008
awk don't edit files "in place", use a temporary file:

Code:
#!bin/sh

echo -n "Enter username to change home directory: "
read username

echo -n "Enter new home directory path: "
read new_path

awk -v user="$username" -v path="$new_path" 'BEGIN{FS=OFS=":"}$1==user{$6=new_path}1' /etc/passwd > temp_file
mv temp_file /etc/passwd

You must have root permissions to run this script.
 

8 More Discussions You Might Find Interesting

1. Solaris

/etc/passwd $HOME

I would like to add a user with the following $HOME: /var/abc/AB!CD!DE/error yes - this directory actually exists on the system. I would like the user to log into the above directory. I have tried wrapping in single quotes (`) as well as using the escape (\) but I guess that I do not have... (9 Replies)
Discussion started by: andrewrgrayjr
9 Replies

2. Shell Programming and Scripting

force to change password(by modifying /etc/shadow)

hi by modifying /etc/shadow how can I Force a change of password so that user has at least 1 week to login? I did it by using: echo "enter username to force password change" read user; chage -M 7 $user; How can I do it by modifying /etc/shadow?? (6 Replies)
Discussion started by: tjay83
6 Replies

3. Solaris

how to change /export/home/user dir to /home /user in solaris

Hi all i am using solaris 10, i am creating user with useradd -d/home/user -m -s /bin/sh user user is created with in the following path /export/home/user (auto mount) i need the user to be created like this (/home as default home directory ) useradd -d /home/user -m -s /bin/sh... (2 Replies)
Discussion started by: kalyankalyan
2 Replies

4. Solaris

How to recycle old passwords by modifying /etc/passwd file ?

hi, has anyone here tried to recycle old passwords by copying something out of the passwd file and paste them back into the same passwd file ? can it work this way ? some of our applications passwords are expiring but they cannot be change due to application concerns, so therefore we must... (7 Replies)
Discussion started by: Exposure
7 Replies

5. Shell Programming and Scripting

Modifying sed to only change last occurrence.

I'm using sed to switch integers (one or more digits) to the other side of the ':' colon. For example: "47593:23421" would then be "23421:47593". The way it functions right now, it is messing my settings file to use with gnuplot. The current command is: sed 's/\(*\):\(*\)/\2:\1/' out3 >... (3 Replies)
Discussion started by: D2K
3 Replies

6. UNIX for Dummies Questions & Answers

Extract user accounts and home directory from /etc/passwd.

I am trying to obtain all user accounts and their respective home directories. /etc/passwd contains the required information, but I want to filter it to only show the uid,username and home directory path. I am working on a Solaris 11 machine. I made a little headway so far, but I got stuck... (7 Replies)
Discussion started by: Hijanoqu
7 Replies

7. UNIX for Advanced & Expert Users

Change sFTP home directory for particular user and from specific server

Hello Folks, Of course i came here for your favour :) How to set a defalult home directory for sFTP login ( at present users land in to their home directrory) when they connect from specific server. When server(A) sFTP's to Linux server(B) they land to thier home directory. I want... (5 Replies)
Discussion started by: Thala
5 Replies

8. Solaris

SunOS confusing root directory and user home directory

Hello, I've just started using a Solaris machine with SunOS 5.10. After the machine is turned on, I open a Console window and at the prompt, if I execute a pwd command, it tells me I'm at my home directory (someone configured "myuser" as default user after init). ... (2 Replies)
Discussion started by: egyassun
2 Replies
adduser(8)						      System Manager's Manual							adduser(8)

NAME
adduser - Adds a new user interactively SYNOPSIS
/usr/sbin/adduser DESCRIPTION
Security Note If you have enhanced security installed on your system, you should use the dxaccounts command to add users. See the Security manual and the dxaccounts(8) reference page for more information. The adduser command is an interactive command for adding new user accounts to your system. The command prompts you for specific informa- tion and informs you of its activity and error conditions. The adduser command invokes /usr/sbin/useradd to add the user account information to /etc/passwd and the hashed password database (if present). Only the superuser can execute this command. The command performs the following tasks: Prompts you to enter a login name for the new user. Enter the login name. If this entry already exists in the passwd file, the command informs you of this and exits. If the entry does not already exist, the command creates one for the new user. Prompts you to enter a UID for the new user. A default UID, which is based on previously existing UID's in the /etc/passwd file, is displayed and can be selected by pressing the Return key. Enter a new UID or accept the default. The command uses this UID in the /etc/passwd file entry for the new user. Note While it is possible to have multiple entries with identical login names and/or identical user id's, it is usually a mistake to do so. Routines that manipulate these files will often return only one of the multiple entries, and that one by random selection. Prompts you for the full name of the new user. Enter the user's full name. This is sometimes called the gecos entry and is dis- played by the finger command. Prompts you to enter a login group for the new user and specifies the default group, users. To accept the default, press the Return key. To select a different group, enter the name of that group, 8 characters or less. If the group does not exist, the command displays a message saying that the group is unknown, lists the names of the groups that are avail- able, and asks whether or not you want to add the new group to the /etc/group file. If you choose the default, the command calls the addgroup command to add the new group to the /etc/group file. The addgroup command queries for the group number of this new group and displays a default value based on existing group numbers in the /etc/group file. Select the default value by pressing Return. Enter a group number or select the default. At this point, the addgroup command ends and the adduser command resumes. There is a limitation on the number of users that can be added to a group. The maximum line length is LINE_MAX as defined in the <limits.h> file. It is recommended that the users be divided into a number of manageable groups. See the System Administration manual for more information on the /etc/group file. Prompts you for the name of other groups for the user to belong to. Again, the group you specify must already exist. If you specify a group to which the user already belongs, the command informs you of this. Prompts you to enter the base directory for the new user and specifies the default directory, /usr/users. To accept the default, press the Return key. To select a different home directory, enter the path of that directory. The path that you specify must exist within a mounted file system. Displays a message that it is adding the new user. At this point, the command makes an entry for the user in the passwd file, creates the home directory, creates the /var/spool/mail directory if necessary, sets ownership and access permissions on the new user's home and mail directories, and copies startup files such as for the new user to the home directory. Asks if you want to edit the authentication file entry for the user. If the environment variable EDITOR is set, adduser will use $EDITOR to edit the user's authentication entries. The adduser command automatically runs the passwd command, which asks you to enter and verify a new password for the user. Note that you cannot use all lowercase letters. If you do, the command asks that you use unusual capitalization and suggests using control characters. If you mistype the password when you are asked to verify it, no password is set and the account is disabled. To enable the user account, enter the passwd command followed by the user name. At this point, the command ends. NOTES
Users are advised to migrate to the /usr/sbin/useradd utility or the dxaccounts utility as this command may be removed in a future version of the operating system. RESTRICTIONS
The addgroup command limits a group name to eight characters or less. If you specify a new group name when prompted, your entry must meet this restriction. EXAMPLES
Enter a login name for the new user (for example, john): chris Enter a UID for (chris) [5006]: Enter a full name for (chris): Chris Ryan Enter a login group for (chris) [users]: Enter another group that (chris) should be a member of. (<Return> for none): Enter a parent directory for (chris) [/usr/users]: The shells are: /bin/sh /bin/csh /bin/ksh Enter a login shell for (chris) [/bin/sh]: Adding new user ... Do you wish to edit the auth file entry for this user (y/[n])? You must enter a new password for (chris). Changing password for chris. New password: Retype new password: FILES
Specifies the command path Group file Password file Default files directory SEE ALSO
Commands: addgroup(8), chfn(1), chsh(1), dxaccounts(8), groupadd(8), mkpasswd(8), passwd(1), removeuser(8), useradd(8), userdel(8), vipw(8) Files: group(4), passwd(4) adduser(8)
All times are GMT -4. The time now is 11:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy