Cronjob for root password change.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Cronjob for root password change.
# 1  
Old 05-28-2014
Wrench Cronjob for root password change.

Hi,

I am writing a cronjob which changes default root password to some designated password(set) after 15 days. The requirement for same is because i need to give application team root access for first 15 days, but after that the default password should be changed, now I want to automate the entire process so I wrote this:

Code:
echo "* * * * * SUFFIX=`date -d "+15 days"`;echo "root:password"|/usr/sbin/chpasswd;crontab -r" >>/var/spool/cron/root

But my concern is that user while having root access can read the real root password from cron, so is there is a possibility where I can avoid the hard-coding of root password, while still achieving the objective.
# 2  
Old 05-28-2014
There are quite a few objections to this entire approach. It is possible the the ap team will need to install a job in root's crontab. This would guarantee that they see your code. It also it means your "crontab -r" could be dangerous. If you must go down this path you can partially address your own objection. Switch to "usermod -p" and hard code the encrypted password. This is still terrible for security but it does beat hard coding the plaintext password.

But here is another approach for your consideration. Define a group called, perhaps, "bigshots". Add a line to /etc/group putting the ap team in the bigshots group. Now add a line like this:
Code:
%bigshots ALL=(ALL) NOPASSWD: ALL

to /etc/sudoers. Show the ap team how to use sudo to gain root power. And finally write a script to remove the bigshots line from both /etc/sudoers and /etc/group. This should be easy because we are using a screwy word like "bigshots" which probably will not collide with any other line in either file.

And the final touch: use the "at" command rather than "cron" to schedule the script at the appropiate time.
# 3  
Old 05-29-2014
I would never give the application team access.

If you hand over access to root then you have no idea what they could insert. Consider that they put on a service for a port that they choose and have it run the Korn shell. From any other server, a simple telnet to that port will fire up a Korn shell and give them root access again.

There are a myriad of other possibilities too. You need to turn this completely around.

Find out:-
  • What they need to do
  • Why they think they must have root access
I would bet that they can't, but it's just convenient. I f you feel you really have to, use sudo to grant them the minimum privilege to do their work and if you have concerns that they could escape to a shell or set a script to SUID etc., then keep them away from it.

Even something as critical as creating an Oracle database does not need the DBA to have root authority. True, someone has to install the software and allocate disk space etc. but that is your job.

Perhaps have them tell you what to do and you drive the process if you are happy with it.


If you have a really great car and you give them the key, what's to stop them copying the key and borrowing it when you're not looking and getting you speeding points or just wrecking it and running away?

Would you give them the password and trust them to make an update on your on-line bank account without stealing the cash?



Be honest with yourself. If they mess it up, who is in the firing line?


Just my opinion.

Robin
# 4  
Old 05-29-2014
Quote:
Originally Posted by nixhead
[...]But my concern is that user while having root access can read the real root password from cron, so is there is a possibility where I can avoid the hard-coding of root password, while still achieving the objective.
Quite often we do not have a saying on the practices and polices of the systems we administrate. Most of the time, the circumstances are far from ideal.

Allow me to subject that you encrypt the password before hand. Even if they get the hash it cannot be reversed to find out what the password is.

chpasswd already allows you to accept the hash instead of the clear text

Use some utility to encrypt the password into a hash that match what you see in the /etc/shadow file.

I use perl

Code:
perl -e 'print crypt("Some_password_I_want","\$6\$random_string\$") . "\n"'

Change "Some_password_I_want" for the real password
Change "random_string" for truly some make-up string of characters, I think if I remember correctly there's a limit as how long.

That will produce an output like:
Quote:
$6$random_string$7XSl45SffAJzLhBeEC7sa8Xn0x6w/yWnYET1P7gDFW1ffivIpYzZ3jbISbTeBE1dJFIBKbW15PGUhRLXmDYQS
blue is the type of hash
red is the salt
green is the encrypted password

Then use it as:
Code:
echo 'root:$6$random_string$7XSl45SffAJzLhBeEC7sa8Xn0x6w/yWnYET1P7gDFW1ffivIpYzZ3jbISbTeBE1dJFIBKbW15PGUhRLXmDYQS.' | chpasswd -e

It is important to use single quotes so the shell doesn't try to interpret all those $ as variables

Now, the password is not shown in the clear
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Can a root role change the root password in Solaris 10?

i do not have root on a solairs 10 server , however i do have the root role, i was wondering if I can change the root password as a a role with the passwd command? I have not tried yet. and do i have to use the # chgkey -p afterwards? i need to patch is why i am asking. thanks (1 Reply)
Discussion started by: goya
1 Replies

2. Ubuntu

Root access that can't change root password?

We are having a little problem on a server. We want that some users should be able to do e.g. sudo and become root, but with the restriction that the user can't change root password. That is, a guarantee that we still can login to that server and become root no matter of what the other users will... (2 Replies)
Discussion started by: 244an
2 Replies

3. Solaris

Solaris 8 - Asks for current root password when trying to change root password.

Hello All, I have several solaris boxes running Solaris 8. When changing root passwords on them, all will simply ask for the new root password to change and of course to re-type the new password. One of the systems however asks for the existing root password before it will display the new password... (8 Replies)
Discussion started by: tferrazz
8 Replies

4. Shell Programming and Scripting

how to change root password using shell script with standard password

Hi Friends. I am new to scripting now i want to change the root password using the script with standard password. which is the easy scripting to learn for the beginner, Thanks in advance. (2 Replies)
Discussion started by: kurva
2 Replies

5. Solaris

Root Password change

Hi All, I would like to find out when the root password changed last time..! :p Please guys help me Out (2 Replies)
Discussion started by: bullz26
2 Replies

6. HP-UX

How to change ROOT password.

Hi, we have a HP-UX server of model 9000/800/rp4440. We have been trying to reset the root password but are in vain.I used the following command and also are the outputs which i have received. # passwd Changing password for root New password: Re-enter new password: Unexpected failure.... (3 Replies)
Discussion started by: angelofhell
3 Replies

7. HP-UX

Change root password?

Hello! I forget the root password and I need to change it. I've read others threads about it in this forum, but it seems it's necessary to modify /etc/passwd file. In my HPUX Systems this passwd file have only "read" permissions ant its owner is the root user, so how can i modify this file, if I... (4 Replies)
Discussion started by: kaugrs
4 Replies

8. Solaris

change root password

Hi, please advise me what is the simplest way to change root password on Sun Sparc 64 bit with Solaris 9 on it. Thanks in advance. (3 Replies)
Discussion started by: duke0001
3 Replies

9. HP-UX

How to change root password on HP UX

Hello, I try to make a change on the root password on HP UX. I use sam but it didn't work here. I try to login as root but I failed however, I login to my name and then change to su and su password then it is o.k There is not much different from root and su but how do we use root? Thanks so... (4 Replies)
Discussion started by: mle06
4 Replies
Login or Register to Ask a Question