AMcoder - javascript, python, java, html, php, sql

Ինչպես տրամադրել գաղտնաբառ sudo հրամանի համար java-ում [փակ]

Process p=Runtime.getRuntime().exec("sudo rm -rf /home/ftp");
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
bw.write("qwerty");
bw.flush();

Ես գրել եմ այս կոդը, բայց այն չի աշխատում

02.01.2017

  • Ի՞նչ սխալ եք ստանում: Ի՞նչ եք ակնկալում անել ձեր ծրագրից: ինչո՞վ է այն տարբերվում ձեր ակնկալիքներից: 02.01.2017
  • Միգուցե ծածկագիրը փոխեք ավելի քիչ կործանարարի, ftp օգտվողը կարող է վատ օր ունենալ, երբ սա գործարկվի… 02.01.2017
  • Ինչպես կատարել bash հրամանը sudo արտոնություններով հնարավոր կրկնօրինակը Java? 02.01.2017
  • Եթե ​​ցանկանում եք, որ ձեր Java կոդը գործարկող գործընթացը կարողանա հեռացնել /home/ftp գրացուցակի ամբողջ կառուցվածքը, տրամադրեք օգտվողին այդ մուտքը: Դրա համար մի գնա աստվածային ռեժիմի: Հատկապես, երբեք ծրագրում օգտագործողի գաղտնաբառի կոշտ ծածկագիրը: Ձեր ծրագիրը չպետք է իմանա օգտվողի գաղտնաբառը: Երբևէ. 02.01.2017

Պատասխանները:


1
String[] cmd = {"/bash/bin","-c"," echo password| sudo -S rm -rf /home/ftp"}; 
Process p = Runtime.getRuntime.exec(cmd); 

Տրամադրեք մուտքագրումը գործընթացի համար, օգտագործելով խողովակը: Սկսելով echo-ը բացատով, այն կհեռացվի bash պատմությունից:

Դուք կարող եք նաև հետագայում ջնջել պատմությունը.

new File(System.getProperty("user.home"), ".bash_history").delete();

բայց զգույշ եղիր դրա հետ: Միայն վերջին գրառումները հեռացնելու հնարք կա:

02.01.2017
  • Դա վատ է խորհուրդ. եթե դուք դա անում եք այսպես, համակարգում բոլորը, որոնց թույլատրված է ps հրամանը, կարող է կարդալ այդ գաղտնաբառը պարզ տեքստով: Դուք երբեք չեք դնում գաղտնաբառերը անմիջապես ձեր հրամանի տողում: 02.01.2017
  • .bash_history-ի ջնջումը պարզապես վատթարացնում է վատ բանը: Եթե ​​որևէ պատահական հավելված ջնջեր իմ պատմության ֆայլը, ես շատ կվրդովվեի: 02.01.2017

  • 2

    Օգտատիրոջը հատկացրեք պահանջվող թույլտվությունները և նաև փակեք բուֆերացված գրիչը՝ գրելով
    bw.close();
    Եթե շարունակեք անցնել sudo ռեժիմին, ապա ծրագիրը կարող է ջնջել որոշ կարևոր ֆայլեր, որոնք պահանջվում են այլ հավելվածների կողմից՝ առողջ պայմաններում աշխատելու համար: ճանապարհ.

    02.01.2017
    Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..