Showing posts with label change password. Show all posts
Showing posts with label change password. Show all posts

Monday, April 20, 2009

Change Mysql root password

Step # 1 : Stop mysql service

# /etc/init.d/mysql stop
Output:

Stopping MySQL database server: mysqld.

Step # 2: Start to MySQL server w/o password:

# mysqld_safe --skip-grant-tables &
Output:

[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started

Step # 3: Connect to mysql server using mysql client:

# mysql -u root
Output:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Step # 4: Setup new MySQL root user password

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

Step # 5: Stop MySQL Server:

# /etc/init.d/mysql stop
Output:

Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: ended

[1]+ Done mysqld_safe --skip-grant-tables

Step # 6: Start MySQL server and test it

# /etc/init.d/mysql start
# mysql -u root -p

Friday, March 13, 2009

LDAP integration to change password

Once you have installed and configured LDAP on your Linux server you will probably need to change user’s passwords in future. For this you can allow user to login and change their password from shell.
User management from shell is not a sufficient way, you might be interested to find a way to change password without allowing user to log into server. And in case if you has particular login registration framework, then you would like to integrate LDAP with it.
I choose PHP to perform the task.
First thing, allow user to change password in slapd.conf file;

access to attr=userPassword
by self write
by anonymous auth
by * none

The next step is ldap bind with user credentials for authentication;

if(isset($username) and isset($newpassword) and isset($oldpassword)) {
$ldapconn = ldap_connect("hostname", 389);
$ldapbind=@ldap_bind($ldapconn,"uid=".$username.",dc=example,dc=com",$oldpassword);
if($ldapbind){

//If user gives correct username and password, then;

if( ldap_mod_replace ($ldapconn, "uid=".$username.",dc=host,dc=com",
array('userpassword' => "{MD5}".base64_encode(pack("H*",md5($newpassword)) ){
print "Password changed successfully ";
}else{
print "Failed to change password";
}
}