উইন্ডোজ 8-এ সাইগউইন ব্যবহার করে, chmod 600 প্রত্যাশার মতো কাজ করে না?


75

আমি আমার কী ফাইল থেকে অনুমতি পরিবর্তন করার চেষ্টা করছি key.pemCygwin 1.7.11। এটিতে অনুমতিগুলির পতাকা রয়েছে:-rw-rw----

chmod -c 600 key.pem

প্রতিবেদন:

'key.pem' এর মোড 0660 (rw-rw ----) থেকে 0600 (rw -------) এ পরিবর্তিত হয়েছে

যাহোক:

ls -l key.pem 

এখনও রিপোর্ট

কী.পেমের অনুমতি ফ্ল্যাগগুলি এখনও রয়েছে: -আর-আরডব্লিউ ----

এই কারণেই আমি জিজ্ঞাসা করছি যে এসএসএস অভিযোগ করছে:

'Key.pem' এর জন্য 0660 এর অনুমতিগুলি খুব বেশি খোলা।

যখন আমি আমার অ্যামাজন ইসি 2 উদাহরণে প্রবেশ করার চেষ্টা করি। এটি কি সাইগউইন এবং উইন্ডোজ 8 এনটিএফএসের সমস্যা বা আমি কিছু অনুপস্থিত?


এটি উইন 8 / সাইগউইন বাগের মতো শোনাচ্ছে। আমি তে এটি রিপোর্ট বলতে চাই Cygwin মেইলিং লিস্ট
আমি_ এবং

এটি এনটিএফএসের সাথে সম্পর্কিত হতে পারে ... উইন্ডোজ সত্যিই সেই লিনাক্স স্কিমটি ব্যবহার করে না। হতে পারে আপনি উইন্ডোজ অনুমতি সেটিংসে যাওয়ার চেষ্টা করতে পারেন এবং কেবল নিজের অধিকার দিতে পারেন ...
sinni800

আমি মনে করি এটা সঙ্গে সম্পর্কযুক্ত superuser.com/questions/363141/...
ড্যানিয়েল Stiner

উত্তর:


97

আমি উইন 8 সিপিতে সাইগউইন ব্যবহার করছি এবং আমারও একই সমস্যা ছিল। এটি অবশ্যই একটি সাইগউইন বাগ, তবে একটি কার্যকারিতা রয়েছে: চালানোর চেষ্টা করুন:

 chgrp -R Users ~/.ssh

দীর্ঘতর ব্যাখ্যাটি হ'ল যে কোনও কারণে সাইগউইন /etc/passwdএবং /etc/groupপ্রজন্মটি ব্যবহারকারীর ডিফল্ট / প্রধান গোষ্ঠীটিকে রাখছে None। এবং আপনি এর অনুমতি পরিবর্তন করতে পারবেন না None, সুতরাং গোষ্ঠীর chmodপক্ষে কোনও প্রভাব নেই।

আমি নিজে passwd/ groupফাইলগুলি মেরামত করার চেষ্টা করিনি, তবে আমি একটি করে করেছি chgrp -R Users ~/.ssh(বা আপনি যদি উইন্ডোজ 8 প্রি-রিলিজের সাথে থাকে তবে গ্রুপের নাম সহ HomeUsers)। এর পরে, আপনি এটি করতে পারেন chmod 0600এবং এটি প্রত্যাশার মতো কাজ করবে।

chgrpথেকে Usersদলের যেটা অন্যান্য অনুরূপ ক্ষেত্রে আপনাকে খুঁজে করা যাবে। এটি এমনকি প্রত্যাশার মতোই কাজ করে যেহেতু সাইগউইন ব্যবহারকারীদেরকে এই Usersগোষ্ঠীতে একটি গৌণ গ্রুপ হিসাবে রাখেন ( প্রাথমিকের পরিবর্তে , যা সঠিক আচরণ হবে)।


12
আমার chgrp -Rv ব্যবহারকারীদের প্রয়োজন ~ / .ssh / * chmod -vR 600 ~ / .ssh / *
টম ফেজেফার

উপরে টোমফেজফার মন্তব্য আমার পক্ষে কাজ করেছে। ধন্যবাদ।
scaraveos

@ টমফেজফার এটি খুব সহায়ক ছিল, সম্ভবত এটির স্ক্রিপ্টগুলি বা কিছু ইনস্টল করার
উপায়টি

4
আপনি যদি অন্য ভাষায় উইন্ডোজ ইনস্টল করে থাকেন Usersতবে তা কাজ করছে না মনে রাখবেন। ব্যবহার করুন cat /etc/groupকি আপনি প্রতিস্থাপন করা উচিত সঙ্গে চেক করতে Users। ডাচ উদাহরণস্বরূপ, আপনার প্রতিস্থাপন করতে হবে Usersসঙ্গে Gebruikers
থিজসাই

3
এটি আর কাজ করে না। নতুন সমাধানটি হ'ল লুক-লি'র একটি।
fjardon

26

সাইগউইন ১.7.৩৪ (2015-02-04) থেকে শুরু করে সেই গোষ্ঠীটি Usersআর কাজ করে না এমন গোষ্ঠীটি পরিবর্তন করে। পরিবর্তে আপনার সাইগউইনের setfaclইউটিলিটি ব্যবহার করা দরকার ।

  • বলুন, আপনি যদি এটি করতে ফাইল মোড সেট করতে চান 644 (rw-r--r--):

    setfacl -s u::rw-,g::r--,o:r-- foo.bar
    
  • বা একটি দীর্ঘ বিন্যাস ব্যবহার করুন:

    setfacl -s user::rw-,group::r--,other::r-- foo.bar
    
  • বা তার মোড ব্যবহারের কপি getfaclফাইল থেকে fooথেকে bar:

    getfacl foo | setfacl -f - bar
    

একটি সম্পূর্ণ ম্যানুয়াল সাইগউইন ব্যবহারকারী নির্দেশিকার "সেটফ্যাকল" বিভাগে রয়েছে । আমি অবাক হই যে কেন সাইগউইন এখনও chmodএকইভাবে ইউটিলিটি পরিবর্তন করেন নি ।


1
গ্রুপ পরিবর্তন ব্যবহারকারীদের সাথে সমাধানগুলি আমার পক্ষে কাজ করে নি তবে কেবল সেটফ্যাকল ভিত্তিক একটি!
অস্পষ্ট

2
লুক, আমি মনে করি আপনি 'ও' এর পরে আপনার প্রথম কোড-ব্লকে কোনও কলোন মিস করেছেন।
সেলডমনিডি

নিবন্ধন করুন আপনি ঠিক আছেন, সেই অনুসারে সংশোধন করেছেন। ধন্যবাদ!
লুক লি

1
@ সেলডমনিডি আরও কিছু পরীক্ষার পরে আমি উভয় সিনট্যাক্সের কাজ দেখতে পেয়েছি, তবে মূলটি (একটি কোলন সহ) আরও সঠিক। 'ইউ' এবং 'জি' এর জন্য দ্বিতীয় কোলন ইউআইডি এবং জিআইডি নির্দিষ্ট করার জন্য। 'ও' এর জন্য এমন কোনও নির্দিষ্টকরণকারী নেই তাই কেবলমাত্র একটি কোলনের প্রয়োজন।
লুক লি

10

এখানে এমন একটি স্ক্রিপ্ট রয়েছে যা লুক লির পরামর্শ ব্যবহার করে তবে chmod এর মতো অষ্টাল আরোগুলি সমর্থন করে। এটি এমন একটি কাঠামো সরবরাহ করে যা বাড়ানো যেতে পারে। যদিও এটি বর্তমানে key.pem এবং / অথবা or / .ssh ডিরেক্টরি এবং ফাইলগুলিতে অনুমতি ঠিক করার জন্য প্রয়োজনীয় অষ্টাল আর্গগুলি সমর্থন করে।

#!/bin/bash

# convert chmod octal permission args to equivalent setfacl args
ARGS=() ; FILES=()
while [ $# -gt 0 ]; do
  A=$1 ; shift
  case "$A" in
  600|0600) ARGS+=("u::rw-,g::---,o::---") ;;
  640|0640) ARGS+=("u::rw-,g::r--,o::---") ;;
  644|0644) ARGS+=("u::rw-,g::r--,o::r--") ;;
  700|0700) ARGS+=("u::rwx,g::---,o::---") ;;
  *) if [ -e "$A" ]; then FILES+=( "$A" ) ; else
    echo "unrecognized arg [$A]" 1>&2
    exit 1
  fi
  ;;
  esac
done
for F in "${FILES[@]}" ; do
  setfacl -s "${ARGS[@]}" "$F"
done

আমি আমার .ssh ডিরেক্টরি এবং ফাইলগুলি ঠিক করতে এটি ব্যবহার করেছি:

chmodfacl 700 ~/.ssh
chmodfacl 600 ~/.ssh/*
chmodfacl 640 ~/.ssh/*.pub

একটি সাইগউইন আপডেটে সবেমাত্র এটির দ্বারা আঘাত পেয়েছি। স্ক্রিপ্ট জন্য ধন্যবাদ। setfaclনিজে থেকে ভয়ঙ্কর।
অ্যান্ডি ব্রাউন

আমি স্ক্রিপ্টটি কোথায় রাখব?
সিসির

স্ক্রিপ্টটি আপনার সাইগউইন পথে যে কোনও জায়গায় যেতে পারে। আপনি একটি $ HOME / bin ডিরেক্টরি তৈরি করতে পারেন এবং এটি সেখানে রেখে দিতে পারেন, যদিও আপনাকে পরে এটি আপনার পাথে যুক্ত করতে হবে, যেমন $ HOME / .bashrc এ rc
ফিলওয়াক


1

আপনার যদি গিট ব্যাশ ইনস্টল থাকে তবে একই কমান্ডটি ( chmod -c 600 key.pem) গিট ব্যাশ দিয়ে চালান এবং সাইগউইনকে এড়িয়ে যান ।


1

এই সমস্যাটি সাইগউইন টার্মিনাল থেকে ssh-keygen কমান্ড চালিয়ে সমাধান করা যেতে পারে ((সাধারণ উইন্ডোজ কমান্ড প্রম্পট নয়)। আমি আমার উইন্ডোজ 8 মেশিনে এটি করেছি।


4
আপনি কি আরও বিস্তারিত বলতে পারেন? এটি কীভাবে সমস্যার সমাধান করতে পারে? "সাইগউইন থেকে এসএসএইচ-কীজেন চালানো" ব্যতীত ব্যবহারকারীদের আরও কী পদক্ষেপ নেওয়া উচিত?
দান্তেএগ্রিগোর

এটি কেবল একটি কী তৈরি করে, তবে ওপিতে খারাপ অনুমতি সহ একটি কী রয়েছে
জোনাথন

এখানে একই অভিজ্ঞতা: chmod / ssh-keygen সাইগউইনের অধীনে ভাল অনুমতি রাখে, তবে আমি যদি সেগুলি উইন্ডোজ সেন্টিমিডি থেকে কার্যকর করি তবে তা করবেন না। (যদিও আমি জানি না :-))
অটরা

-2

সাইগউইন ইনস্টলারটি চালান এবং আপডেট করুন। বাগ ঠিক করা উচিত।


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