一条命令修改Linux密码

方法一、直接使用passwd命令

/bin/echo newpass|/usr/bin/passwd --stdin  username

*注:该方式只适用于红帽系操作系统,比如centos,redhat等系统,在Debian系操作系统中,如Debian,Ubuntu等系统下,passwd命令没有 --stdin参数,无法完成该命令

 

方法二:使用chpasswd命令

 上面用passwd命令的方法只能用于红帽系系统,这里提供一个可以用于Debian系系统的方法,使用chpasswd命令

/bin/echo username:newpass |chpasswd

 

方法三:使用python+usermod命令

usermod命令有一个-p参数,可以直接将一个已经加密得到的密文设置为系统密码

python中有个crypt的库,可以将一个字符串用DES单项加密,相对安全性较低

所以二者结合起来使用,现将我们想要的密码用crypt库加密得到密文,再用usermod 命令的-p参数修改成系统密码

def R_chpass(user,pass_):
    username=user
    passwd=crypt.crypt(pass_,'ab')
    os.system("usermod -p %s %s" % (passwd,username))

 

posted @ 2018-05-02 12:21  隐念笎  阅读(514)  评论(0编辑  收藏  举报