• 05-12-2014, 14:47:22
    #1
    Mail şifresi değiştirme işlemini ssh ile nasıl yapabilirim acaba?

    Sunucu'da cpanel kurulu.
  • 06-12-2014, 15:21:35
    #2
    EnginTopcuoglu adlı üyeden alıntı: mesajı görüntüle
    Mail şifresi değiştirme işlemini ssh ile nasıl yapabilirim acaba?

    Sunucu'da cpanel kurulu.
    api ile yapabilirmişsin.

    http://forums.cpanel.net/f42/using-c...rd-192571.html

    burda ayrıntıları var.
  • 06-09-2017, 19:44:08
    #3
    cpanel kurulu sunucuda lisans bitti, ssh ile mail adresinin şifresini değiştirmem için bir yol mevcutmudur
  • 07-09-2017, 15:58:46
    #4
    Merhabalar,
    Aşağıdaki bash scrip'ti ile değiştirebilirsin
    Fakat tüm mail adreslerin şifresini random olarak değiştirmekte
    Şunu da yapabilirsin, mail hesabını kaldırıp yeniden yaratabilirsin

    Mail silme
    /scripts/delpop amcam2@test.test.com

    Mail açma
    /scripts/addpop amcam2@test.test.com 123456 - quota 222

    İçindeki mailler silinmesin istiyorsan da , bu klasörü yedekle, hesabı sil yeniden aç , bu klasörü yerine koy
    mv /home/user/mail/test.test.com/amcam2/ /home/

    Yetkileri düzeltmek için > /scripts/mailperm

    Veya topluca şifre değişimi için;

    #!/bin/bash -  
    #title            :changeallmailpass.sh
    #description      :To Change password of all mail accounts in a cPanel Server
    #author           :Arun Ghosh
    #date             :20130812
    #version          :1.0   
    #usage            :./changeallmailpass.sh
    #notes            :      
    #bash_version :4.2.25(1)-release
    #============================================================================
    
    genpasswd() {
    
            tr -dc A-Za-z0-9_ < /dev/urandom | head -c 12 | xargs
    }
    
    cat /dev/null > /root/mailaccounts.txt
    
    CP_ACCOUNTS=`ls -1A /var/cpanel/users/`
    
    for CP_USER in `echo -n $CP_ACCOUNTS`
    do
        USER_DOMAIN=`grep -i ^dns /var/cpanel/users/$CP_USER |cut -d= -f2`
        for DOMAIN in `echo -n "$USER_DOMAIN"`
        do
            SHADOW_FILE="/home/$CP_USER/etc/$DOMAIN/shadow"
            if [ -f $SHADOW_FILE ] && [ -s $SHADOW_FILE ]
            then 
                cat /dev/null > "/home/$CP_USER/etc/$DOMAIN/shadow.tmp"
                for shadow in `cat $SHADOW_FILE`
                do
    
                    NEW_PASS=$(genpasswd)
                    MD5_PASS=$(openssl passwd -1 $NEW_PASS)
                    user=$(echo $shadow | cut -d":" -f1)
                    rest=$(echo $shadow | cut -d":" -f3-)
    
                    echo -e "$NEW_PASS\t$user@$DOMAIN" >> "/root/mailaccounts.txt"
                    echo "$user:$MD5_PASS:$rest" >> "/home/$CP_USER/etc/$DOMAIN/shadow.tmp"
                   
                done
                mv "/home/$CP_USER/etc/$DOMAIN/shadow" "/home/$CP_USER/etc/$DOMAIN/shadow.$(date +%s)"
                mv "/home/$CP_USER/etc/$DOMAIN/shadow.tmp" "/home/$CP_USER/etc/$DOMAIN/shadow"
                chmod 640 "/home/$CP_USER/etc/$DOMAIN/shadow"
                chown $CP_USER:$CP_USER "/home/$CP_USER/etc/$DOMAIN/shadow"         
           fi
        done
    done