পিএস পাসওয়ার্ড গোপন করতে কীভাবে জানতে পারে?


22

সাক্ষী:

$ ps f
  PID TTY      STAT   TIME COMMAND
31509 pts/3    Ss     0:01 -bash
27266 pts/3    S+     0:00  \_ mysql -uroot -p
25210 pts/10   Ss+    0:00 /bin/bash
24444 pts/4    Ss     0:00 -bash
29111 pts/4    S+     0:00  \_ tmux attach
 4833 pts/5    Ss+    0:00 -bash
 9046 pts/6    Ss     0:00 -bash
17749 pts/6    R+     0:00  \_ ps f
 4748 pts/0    Ss     0:00 -bash
14635 pts/0    T      0:02  \_ mysql -uroot -px xxxxxxxxxxxxxxxx
16210 pts/0    S+     0:01  \_ mysql -uroot -px xxxxxxxxxxxxxxxx

কীভাবে পিএস mysqlপাসওয়ার্ডগুলি গোপন করতে জানে ? নির্দিষ্ট সিএলআই বৈশিষ্ট্যগুলি গোপন করার জন্য কি আমি এটি আমার নিজস্ব স্ক্রিপ্টগুলিতে অন্তর্ভুক্ত করতে পারি?


6
এটি সম্ভবত অন্যভাবে এবং mysqlযাদুটিও করে, এটি নয় ps: "মাইএসকিউএল ক্লায়েন্টগুলি সাধারণত প্রারম্ভিক ক্রম চলাকালীন শূন্যগুলির সাথে কমান্ড-লাইন পাসওয়ার্ড যুক্তিটি ওভাররাইট করে” "- পাসওয়ার্ড সুরক্ষার জন্য শেষ-ব্যবহারকারী নির্দেশিকা
manatwork

ধন্যবাদ, এটি একটি তথ্যবহুল দলিল। আমি কীভাবে আমার নিজের স্ক্রিপ্টগুলিতে ক্লায়েন্ট আর্গুমেন্টগুলি ওভাররাইট করতে পারি সে সম্পর্কে আমি দেখতে পাব।
dotancohen

1
@ মান্যাটওয়ার্ক আমি এটিকে একটি উত্তর হিসাবে রাখব, কারণ এটি ঠিক যা ঘটছে - এবং এটি মাইএসকিএল সম্পর্কিত সুরক্ষা বিষয়গুলির জন্য একটি দরকারী লিঙ্ক। :)
ড্র অ্যালান

নোট করুন যে কমান্ড লাইন আর্গুমেন্টগুলি স্নুপ করা যেতে পারে, পরিবেশের ভেরিয়েবলগুলি নিরাপদ
গিলস 'অশুভ হওয়া বন্ধ করুন'

এ সম্পর্কে আরও তথ্যের জন্য, unix.stackexchange.com/q/385339/135943 দেখুন
ওয়াইল্ডকার্ড

উত্তর:


23

psপাসওয়ার্ড লুকায় না। মাইএসকিএল-এর মতো অ্যাপ্লিকেশনগুলি আর্গুমেন্টের তালিকাটি ওভাররাইট করে। দয়া করে মনে রাখবেন যে একটি ছোট সময়সীমা রয়েছে (উচ্চ সিস্টেম লোড দ্বারা সম্ভব প্রসারণযোগ্য), যেখানে আর্গুমেন্টগুলি ওভাররাইট না হওয়া পর্যন্ত অন্যান্য অ্যাপ্লিকেশনগুলিতে দৃশ্যমান। প্রক্রিয়াটি অন্য ব্যবহারকারীদের কাছে গোপন করা সাহায্য করতে পারে। সাধারণভাবে প্রতি কমান্ড লাইনের চেয়ে ফাইলের মাধ্যমে পাসওয়ার্ড পাস করা আরও ভাল।

ইন এই নিবন্ধটি এটা সি জন্য বর্ণনা করা হয়েছে, কিভাবে এই কাজ করতে। নিম্নলিখিত উদাহরণটি সমস্ত কমান্ড লাইন আর্গুমেন্টগুলি আড়াল করে / মুছে ফেলে:

#include <string.h>

int main(int argc, char **argv)
{
    // process command line arguments....

    // hide command line arguments
    if (argc > 1) {
        char *arg_end;    
        arg_end = argv[argc-1] + strlen (argv[argc-1]);
        *arg_end = ' ';
    }

    // ...
}

Https://stackoverflow.com/questions/724582/hide-arguments-from-ps এবং /programming/3830823/hide-secret-from-command-line-parameter-on-unix এও দেখুন ।


খুব সুন্দর ধন্যবাদ. আমি বুঝতে পারিনি যে আর্গুমেন্টগুলি যেমন পরিবর্তনযোগ্য।
dotancohen

এছাড়াও নোট করুন যে সমস্ত প্রোগ্রাম পাসওয়ার্ড দিয়ে এটি করবে না।
ছাই

এই নিবন্ধটির লিঙ্কটি নষ্ট হয়ে গেছে। আমার জন্য কোডটি ব্যাখ্যা করার জন্য কেউ? (কোডটি কেন কাজ করে, কেবলমাত্র \0স্থান নির্ধারণ করে?) কোনও লিঙ্ক setproctitle()?
স্কিম্যাক 16


7

মাইএসকিউএল প্রোগ্রামের সাথে কম্যান্ড লাইন থেকে পাসওয়ার্ড প্রতিস্থাপন xমধ্যে কোড এই লাইন :

while (*argument) *argument++= 'x';     // Destroy argument

3
দুর্ভাগ্যক্রমে, এটি যতটা নিরাপদ তা হতে পারে না। পাসওয়ার্ডটি কত দীর্ঘ তা বলতে পারবেন। এটির সাথে এটি প্রতিস্থাপন করা আরও ভাল \0যাতে আপনার পাসওয়ার্ডের দৈর্ঘ্য (ইউবি / এসজিএফএল্ট ছাড়াই) অতিরিক্ত তথ্যের প্রয়োজন হয়।
wizzwizz4
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.