একাধিক ব্যবহারকারীর সাথে টার্মিনাল ভাগ করে নেওয়া (পর্দার সাথে বা অন্যথায়)


11

আমি একটি সার্ভার সেট আপ করছি যেখানে একাধিক অ্যাপ্লিকেশনগুলিতে একাধিক বিকাশকারী কাজ করছেন।

আমি মূর্ত আউট কিভাবে নির্দিষ্ট ডেভেলপারদের প্রয়োজনীয় অ্যাপ্লিকেশন ডিরেক্টরি থেকে ভাগ করা অ্যাক্সেস ব্যবহার দিতে setgid bitএবং default ACLsএকদল এক্সেস এ থাকা যেকেউ দিতে।

এই অ্যাপ্লিকেশনগুলির অনেকগুলি সহজেই অ্যাক্সেসের জন্য বিকাশকালে একটি টার্মিনালের অধীনে চলে। আমি যখন একা কাজ করি তখন আমি কোনও অ্যাপ্লিকেশনটির জন্য একটি ব্যবহারকারী সেট আপ করি এবং সেই ব্যবহারকারী হিসাবে পর্দা চালায়। এটি এমন নেতিবাচক দিক রয়েছে যা প্রতিটি বিকাশকারীকে screen sessionপাসওয়ার্ড জানতে প্রয়োজনীয়তা ব্যবহার করতে হয় এবং ব্যবহারকারীর এবং অ্যাপ্লিকেশন অ্যাকাউন্টগুলিকে পৃথক রাখা শক্ত হয়।

এক উপায় যা কাজ করতে পারে তা হ'ল স্ক্রিনের মাল্টিউসার বৈশিষ্ট্যগুলি। এগুলি বাক্সের বাইরে কাজ করে না তবে স্ক্রিনটি প্রয়োজনীয়তার জন্য অভিযোগ করে suid root। দিলে কি কোনও ডাউনসাইড থাকে? আমি suid rootকিছু ব্যবহার সম্পর্কে বেশ যত্নশীল । এটি ডিফল্ট না হওয়ার কোনও কারণ থাকতে পারে?

আমার এটি করা উচিত screenবা আমার যা ইচ্ছা তা করার কোনও বুদ্ধিমান উপায় আছে?

উত্তর:


24

হ্যাঁ, আপনি এটি করতে পারেন screenযার সাহায্যে মাল্টিউসার সমর্থন রয়েছে।

প্রথমে একটি নতুন অধিবেশন তৈরি করুন:

screen -d -m -S multisession

এটি সংযুক্ত করুন:

screen -r multisession

মাল্টিউজার সমর্থন চালু করুন:

টিপুন Ctrl-aএবং টাইপ করুন

:multiuser on
:acladd USER ← use username of user you want to give access to your screen

এখন, Ctrl-a dএবং সেশনগুলি তালিকাবদ্ধ করুন:

$ screen -ls
There is a screen on:
    4791.multisession   (Multi, detached)

আপনার এখন একটি মাল্টিউজার স্ক্রিন সেশন রয়েছে। নামটি multisessionacl'd ব্যবহারকারীকে দিন, যাতে সে এতে যুক্ত হতে পারে:

screen -x youruser/multisession

এবং এটাই.

একমাত্র ত্রুটি হ'ল screenঅবশ্যই suidমূল হিসাবে চালানো উচিত । তবে যতদূর আমি জানি ডিফল্ট, স্বাভাবিক পরিস্থিতি।

অন্য বিকল্পটি হ'ল screen -S $screen_id -X multiuser on,screen -S $screen_id -X acladd authorized_user

আশাকরি এটা সাহায্য করবে.


1
এটিই আমি চেষ্টা করেছি, যেখানে স্ক্রিনটি প্রয়োজনীয়তার বিষয়ে অভিযোগ করে suid root। আমি বুঝতে পেরেছিলাম যে ডিফল্টরূপে না থাকা প্রোগ্রামগুলিতে রুট অনুমতি যুক্ত করার আগে জিনিসগুলি করার এটিই পছন্দসই উপায় ছিল
varea

স্ট্রেঞ্জ। আমার screenহয় suidরুট।
সাইকেলড ডি ফ্রেড 21

আমি মনে করি এটি কোনও ডিসট্রো-নির্ভর জিনিস হতে পারে। আমি CentOS 6 বা 7 এ চেষ্টা করেছি (চেক করা দরকার)
ওয়ারেসে

যার মূল্য এটি উবুন্টু 16.04 screenএও নয় suid root
আইসড ওয়াটার

6
screen -S $screen_id -X multiuser on, screen -S $screen_id -X acladd authorized_user কন্ট্রোল-পরিবর্তে কমান্ডগুলির উত্তরের জন্য একটি উত্তম সংযোজন হবে
15-29 এ রিবামার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.