sudo সহ একটি শেল স্ক্রিপ্টে একটি অ্যাপ্লিকেশন খুলছে


1

আমি একটি অ্যাপ্লিকেশন খোলার চেষ্টা করছি যা শেল স্ক্রিপ্টের মধ্যে 25 পোর্ট শুনতে পেল। 25 পোর্ট শোনার জন্য, আমার সাথে অ্যাপটি চালানো দরকার sudo। সুতরাং আমি নিম্নলিখিত চেষ্টা:

sudo open appThatNeedsPort25

এটি আমার পাসওয়ার্ডের জন্য আমাকে জিজ্ঞাসা করে এবং অ্যাপ্লিকেশনটি খুলবে। সমস্যাটি হ'ল অ্যাপটি মূল হিসাবে চালিত হচ্ছে না, তাই এটি পোর্ট 25 শুনতে শুনতে অক্ষম ...

শেল স্ক্রিপ্ট থেকে কোনও অ্যাপ্লিকেশন খোলার জন্য আমি কী করব যাতে এটি পোর্ট 25 শুনতে পারে?


এটি কি কোনও জিইউআই অ্যাপ্লিকেশন বা কেবল একটি ইউনিক্স সম্পাদনযোগ্য?
চিহ্নিত করুন

জিইউআই অ্যাপ্লিকেশন, তাদের একটি কনসোল মোড রয়েছে তবে এটি একটি ইন্টারেক্টিভ কনসোল
এট ২১

উত্তর:


0

sudo -b অ্যাপ্লিকেশনটিকে পটভূমিতে চালিত করে।

sudo -b appThatNeedsPort25

এর বিপরীতে sudo appThatNeedsPort25 &, sudo নিজেই অগ্রভাগে চলবে, সুতরাং এর পাসওয়ার্ড প্রম্পটে আপনার কোনও সমস্যা হবে না। নোট করুন যে sudo এরও -Aটার্মিনালের পরিবর্তে GUI এর মাধ্যমে পাসওয়ার্ড চেয়ে দেওয়ার একটি বিকল্প রয়েছে , যখন আপনি sudoটার্মিনাল থেকে চলমান না তখন আপনি এটি ব্যবহার করতে পারেন ।


0

কেবল sudo appthatneedsport25 চেষ্টা করে দেখুন, ব্যাশ বা শেল স্ক্রিপ্টগুলির সাথে ডিল করার সময় ওপেন ব্যবহার করার দরকার নেই। যদি এটি কোনও ব্যাখ্যাযুক্ত স্ক্রিপ্ট (পাইথন রুবি ইত্যাদি) হয় এবং এটি নির্বাহযোগ্য হিসাবে সেট না হয়, আপনি সর্বদা সুডো পাইথন স্ক্রিপ্টনাম করতে পারেন।


হুম, ঠিক আছে, আমি এটি যুক্ত করে পটভূমিতে চালাতে পারি > /dev/null 2>&1 &। আমার ধারণা, এটি আমাকে পাসওয়ার্ডের জন্য জিজ্ঞাসা করছে না কারণ আমি &
সুডোর

এটি করা উচিত নয়, কারণ আপনি যখন এটি চালাবেন তখন এটিগুলি সেই গোপনীয়তা পায়, এবং এর বাকি অংশটি এই মুহুর্তে কিছুইতে পুনঃনির্দেশিত হয়। এই অ্যাপ্লিকেশনটির কি আপনার কাছ থেকে ভবিষ্যতের ইনপুট দরকার? এটি কী এবং আপনি কীসের জন্য এটি ব্যবহার করতে পারেন তা আমাদের বলতে পারেন?
কনস্টান্টাইনেকে

এটি দেব উদ্দেশ্যে একটি ডামি এসএমটিপি সার্ভার। সুতরাং আমি এটি চেষ্টা করেছি সুডো পাসওয়ার্ড স্মরণ হওয়ার সময়সীমা শেষ হওয়ার পরে এবং এটি কেবল 3 পাসওয়ার্ড প্রম্পট এবং প্রস্থান করে। আমার ধারণা আমি
সুডোর

আপনি যদি পাসওয়ার্ড না জিজ্ঞাসা করে এটি চালাতে চান, তবে হ্যাঁ, এটির ক্যাশে করার জন্য আগেই একটি অ্যাপ্লিকেশন চালানো দরকার, তবে আপনি এসএমটিপি সার্ভারটি শুরু করার পরে পাসওয়ার্ডটি কেন রাখবেন না?
কনস্টান্টাইনেকে

সমস্যাটি হ'ল স্ক্রিপ্ট যা আমার অ্যাপ্লিকেশনটি সরিয়ে দেয়। আপনি করতে পারবেন না sudo appname &। ব্যাকগ্রাউন্ডে এটি চালানো আপনাকে আপনার পাসওয়ার্ড প্রবেশের সুযোগ দেয় না।
at01


0

Sudo- এর বিকল্প হিসাবে (কিছুটা অনিরাপদ) আপনার মূল ব্যবহারকারীকে আপনার ssh কী যুক্ত করুন তবে আপনি 'ssh root @ লোকালহোস্ট অ্যাপ্লিকেশনটিটনিডপোর্ট 25' করতে পারেন।

প্রথমবার আপনি এটি করার পরে এটি আপনাকে আপনার এসএসএস কী পাসফ্রেজের জন্য অনুরোধ করতে পারে তবে এটি পুনরায় চালু না হওয়া পর্যন্ত এটি ক্যাশে হবে।

আরও অনুকূলিতকরণ হিসাবে এটি আপনার ~ / .ssh / config ফাইলটিতে যুক্ত করুন:

Host root
    Hostname 127.0.0.1
    User root

তারপরে আপনি কেবল তার পরিবর্তে 'ssh root appThatNeedsPort25' টাইপ করতে পারেন।

আমি এই 'ssh রুট' কৌশলটি বছরের পর বছর ধরে করে চলেছি এবং এটি আমার পাসওয়ার্ডটি পুনরায় টাইপ করার অগণিত মিনিটগুলি রক্ষা করেছে। :-)


আমি এই ক্ষেত্রে আমার পাসওয়ার্ডটি টাইপ করতে পছন্দ করব
01

0

আপনি এটি এইভাবে না

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/hosts

বিকল্পভাবে

#   sudoapp: Runs .app with root privileges
#   --------------------------------------------------------------------
    sudoapp () {
        sudo "$1/Contents/MacOS/$(defaults read "$1/Contents/Info.plist" CFBundleExecutable)" $2
    }

$ sudoapp /Applications/TextEdit.app /etc/hosts

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.