取消输入sudo后必须要输入的密码选项?

问题描述

—–使用过ubuntu的都应该知道每次输入sudo,都要在后面等着输入密码,而且如果密码过长的话,则可能会出错会出现,要重新输入密码,总之,Ubuntu的密码输入,安全是安全,但是是真心有点蛋疼的,而且本想着输入命令的时候把密码带上,因为最近要在Python中调用Ubuntu终端完成一些操作,而且Python也没提示我错误,就是一直获取不到。

解决办法

当当当当

sudo visudo

%sudo    ALL=(ALL:ALL) NOPASSWD: ALL

我的问题

def cal_simi(n):
    file = os.popen('cd '+path[n-1]+';ls').readlines()
    RMSD_simi = []
    TMscore_simi = []
    MasSubscore_simi = []
    GDTTSscore_simi = []
    GDTHAscore_simi = []
    for fileName1 in file:
        temp1 = [];temp2=[];temp3=[];temp4=[];temp5=[]
        for fileName2 in file:
            flag = os.system("echo -e '123456\n123456\n' | sudo passwd stern;")
            comm = 'cd /home/stern/Desktop/TMscore;' + 'sudo ./TMscore ' + path[n-1] + fileName1[:-1] +' '+ path[n-1] + fileName2[:-1]
            # storge the result of the command in data
            ***data = os.popen(comm).readlines()***
            temp1.append(data[14][32:38]);temp2.append(data[16][14:20]);temp3.append(data[17][14:20])
            temp4.append(data[18][14:20]);temp5.append(data[19][14:20])
        RMSD_simi.append(temp1)
        TMscore_simi.append(temp2)
        MasSubscore_simi.append(temp3)
        GDTTSscore_simi.append(temp4)
        GDTHAscore_simi.append(temp5)
    p1 = np.median(RMSD_simi);p2 = np.median(TMscore_simi);p3 = np.median(MasSubscore_simi)
    p4 = np.median(GDTTSscore_simi);p5 = np.median(GDTHAscore_simi)
    for i in range(len(file)):
        RMSD_simi[i][i] = p1
        TMscore_simi[i][i] = p2
        MasSubscore_simi[i][i] = p3
        GDTTSscore_simi[i][i] = p4
        GDTHAscore_simi[i][i] = p5        
    return RMSD_simi,TMscore_simi,MasSubscore_simi,GDTTSscore_simi,GDTHAscore_simi

—–data = os.popen(comm).readlines(),就是这一行,执行Ubuntu终端命令的时候,执行也没有报错,就是data一直是空的,所以我想着,应该是ubuntu没有提示输入密码,我本身也没有输入,所以获取不到,通过上面取消密码后,data获取到值了。

你可能感兴趣的:(取消输入sudo后必须要输入的密码选项?)