Sponsored Content
Full Discussion: Automatic User Creation
Top Forums Shell Programming and Scripting Automatic User Creation Post 302752309 by charlieabee on Sunday 6th of January 2013 06:22:54 PM
Old 01-06-2013
Automatic User Creation

Hello everybody,

I'm new to sh scripting and relatively new to linux in general which is why I've come here for assistance.

I have been attempting to make a shell script which automatically creates user accounts from a file list and further creating directories and moving files into it etc. The issue I'm having is that it won't create any other user accounts after the first one, it gets stuck on the second username entry and gives this error when it attempts to make the account,

Quote:
find: paths must precede expression: shaun
(shaun being the second username in the Username file)

Can you please take a look at my code and see if I've made any mistakes? I've looked for hours to try and figure it out but to no avail.

Quote:
userchecks () {
linecount=$(wc -l < Usernames)
echo $line

while [ $line -le $linecount ]
do
line=`expr $line + 1`
echo $line
username=$(head -$line Usernames)
existinguser=$(find /home -name $username)
if
[ -z $existinguser ]
then
sudo useradd -m $username

unset username
unset existinguser

else
userexists
fi
done
}

userexists () {
echo "PRESS 1 TO DELETE THE OLD $existinguser ACCOUNT, OR 2 TO KEEP IT, BUT RENAME IT WITH _OLD PREFIX:"
read input
echo $input

if [ $input -eq 1 ]
then
user=$(basename $existinguser)
sudo userdel $user
sudo rm -rf $existinguser
echo "USER ACCOUNT DELETED"
sudo useradd -m $user
unset username
unset existinguser
unset user
elif [ $input -eq 2 ]
then
suffix="_old"
user=$(basename $existinguser)
sudo userdel $user
sudo mv /home/$user /home/$user$suffix
echo "USER ACCOUNT NAME SUFFIXED WITH _OLD"
sudo useradd -m $user
unset username
unset existinguser
unset user
fi

userchecks

}

line=0
userchecks
Thank you in advance
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

user creation problem

hello, Actually I want to create a user for our brower based custom application for the mail access from our mailserver(linux). I create user dummy and I granted all the privileages to dummy user and made dummy equivelent to root and if I tried to create a another user logging as dummy ... (1 Reply)
Discussion started by: jarkvarma
1 Replies

2. UNIX for Advanced & Expert Users

Automatic time out of user login

I have asked by our security team to implement an automatic time out for user logins after a specified time interval. I have never heard of this feature in Unix before. Does anyone know of a way to accomplish this for HP-UX 11i? (2 Replies)
Discussion started by: keelba
2 Replies

3. Solaris

User creation

Hi all, I want to create one user with full permissions to one directory called /opt/tivoli/tsm/client/ba/bin. Name for the user Tivoli Thanks & Regards Babu (7 Replies)
Discussion started by: lbreddy
7 Replies

4. Solaris

User Creation

i am trying to create a user on solaris 10. it is not taking user name with more than ten characters. which file i need to edit to do this setting. (4 Replies)
Discussion started by: raynu.sharma
4 Replies

5. Red Hat

User creation

Hi Thanks in advance. How to create a user without useradd command ?? (1 Reply)
Discussion started by: krish4linux
1 Replies

6. Solaris

Need help with user creation

Hello guys, i have a problem where i cant create a user and here some problem that i encounter. 1. /etc/passwd seems locked. 2. getting this error UX: useradd: ERROR: Cannot update system files - login cannot be created. # useradd -u 47367 -g 1084 -c "user123" -d /local/home/user123 -s... (2 Replies)
Discussion started by: brew
2 Replies

7. AIX

User creation

hi seniors i want to create the users like when the user try to login it should not should not promt for passwd is it possible to create users like this please help me (6 Replies)
Discussion started by: senmak
6 Replies

8. Shell Programming and Scripting

User creation script

Hi Gems.. I am working out on project of creating a mass user on 100 server. Please help me with script where i can create an user id of new 80 user using shell script Thanks in advance. Indrajit Bhagat (1 Reply)
Discussion started by: indrajit_renu
1 Replies

9. Solaris

NIS user creation

Hi can anyone help me how to create a NIS user by editing the files like Passwd,group, Netgroup,auto.home and Aliases using the "enis" utility? Please do the needful................................ (4 Replies)
Discussion started by: Revathi@1
4 Replies
git_selinux(8)						 Git SELinux policy documentation					    git_selinux(8)

NAME
git_selinux - Security Enhanced Linux Policy for the Git daemon. DESCRIPTION
Security-Enhanced Linux secures the Git server via flexible mandatory access control. FILE_CONTEXTS SELinux requires files to have an extended attribute to define the file type. Policy governs the access daemons have to these files. SELinux Git policy is very flexible allowing users to setup their web services in as secure a method as possible. The following file contexts types are by default defined for Git: git_system_content_t - Set files with git_system_content_t if you want the Git system daemon to read the file, and if you want the file to be modifiable and executable by all "Git shell" users. git_session_content_t - Set files with git_session_content_t if you want the Git session and system daemon to read the file, and if you want the file to be modi- fiable and executable by all users. Note that "Git shell" users may not interact with this type. BOOLEANS
SELinux policy is customizable based on least access required. Git policy is extremely flexible and has several booleans that allow you to manipulate the policy and run Git with the tightest access possible. Allow the Git system daemon to search user home directories so that it can find git session content. This is useful if you want the Git system daemon to host users personal repositories. sudo setsebool -P git_system_enable_homedirs 1 Allow the Git system daemon to read system shared repositories on NFS shares. sudo setsebool -P git_system_use_nfs 1 Allow the Git system daemon to read system shared repositories on Samba shares. sudo setsebool -P git_system_use_cifs 1 Allow the Git session daemon to read users personal repositories on NFS mounted home directories. sudo setsebool -P use_nfs_home_dirs 1 Allow the Git session daemon to read users personal repositories on Samba mounted home directories. sudo setsebool -P use_samba_home_dirs 1 To also allow Git system daemon to read users personal repositories on NFS and Samba mounted home directories you must also allow the Git system daemon to search home directories so that it can find the repositories. sudo setsebool -P git_system_enable_homedirs 1 To allow the Git System daemon mass hosting of users personal repositories you can allow the Git daemon to listen to any unreserved ports. sudo setsebool -P git_session_bind_all_unreserved_ports 1 GIT_SHELL The Git policy by default provides a restricted user environment to be used with "Git shell". This default git_shell_u SELinux user can modify and execute generic Git system content (generic system shared respositories with type git_system_content_t). To add a new Linux user and map him to this Git shell user domain automatically: sudo useradd -Z git_shell_u joe ADVANCED_SYSTEM_SHARED_REPOSITORY_AND GIT_SHELL_RESTRICTIONS Alternatively Git SELinux policy can be used to restrict "Git shell" users to git system shared repositories. The policy allows for the creation of new types of Git system content and Git shell user environment. The policy allows for delegation of types of "Git shell" envi- ronments to types of Git system content. To add a new Git system repository type, for example "project1" create a file named project1.te and add to it: policy_module(project1, 1.0.0) git_content_template(project1) Next create a file named project1.fc and add a file context specification for the new repository type to it: /srv/git/project1.git(/.*)? gen_context(system_u:object_r:git_project1_content_t,s0) Build a binary representation of this source policy module, load it into the policy store and restore the context of the repository: make -f /usr/share/selinux/devel/Makefile project.pp sudo semodule -i project1.pp sudo restorecon -R -v /srv/git/project1 To create a "Git shell" domain that can interact with this repository create a file named project1user.te in the same directory as where the source policy for the Git systemm content type is and add the following: policy_module(project1user, 1.0.0) git_role_template(project1user) git_content_delegation(project1user_t, git_project1_content_t) gen_user(project1user_u, user, project1user_r, s0, s0) Build a binary representation of this source policy module, load it into the policy store and map Linux users to the new project1user_u SELinux user: make -f /usr/share/selinux/devel/Makefile project1user.pp sudo semodule -i project1user.pp sudo useradd -Z project1user_u jane system-config-selinux is a GUI tool available to customize SELinux policy settings. AUTHOR
This manual page was written by Dominick Grift <domg472@gmail.com>. SEE ALSO
selinux(8), git(8), chcon(1), semodule(8), setsebool(8) domg472@gmail.com 27 May 2010 git_selinux(8)
All times are GMT -4. The time now is 11:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy