আমি কীভাবে সিআইএফএসের ভাগ ভাগ করব?


64

আমি উবুন্টু ১১.১০ ব্যবহার করছি, এবং একটি ফ্রিণা সার্ভার মাউন্ট করার চেষ্টা করছি। আমার কোনও ভাগ্য ছাড়াই সিএফ এবং এনএফএসে ভাগ করার জন্য সার্ভারটি সেট আছে ।

আমি চেষ্টা করেছি smbmount //192.168.1.### /mnt/

আমি উবুন্টুতে নতুন নই তবে বিদ্যুৎ ব্যবহারকারীর কাছাকাছি আর নেই, তাই যদি পাওয়া যায় তবে আমি জিইউআই বিকল্প পছন্দ করবো।

আমি ১১.১০-এ কীভাবে সিআইএফ-এর ভাগ ভাগ করব?

উত্তর:


88

নেই pyNeighborhood যা ডাউনলোডের জন্য সফ্টওয়্যার কেন্দ্রে সাম্বা শেয়ার এবং প্রাপ্তিসাধ্য মাউন্ট জন্য একটি GUI হয়।

এটি কীভাবে সেট আপ করবেন এবং এটি কীভাবে ব্যবহার করবেন সে সম্পর্কে এখানে একটি ভাল নিবন্ধ রয়েছে ।

প্রথমে সিআইএফ ব্যবহারগুলি ইনস্টল করুন

sudo apt-get install cifs-utils

বিকল্পভাবে, বেসিক টার্মিনাল কমান্ডটি হ'ল:

mount -t cifs -o username=USERNAME,password=PASSWD //192.168.1.88/shares /mnt/share

আপনি যদি নাটিলাসে নিজের মাউন্টটি দেখতে চান তবে প্রথমে / মিডিয়া / ইউএসআইএনএমে / সাব-ফোল্ডার তৈরি করা ভাল হবে: উদাহরণস্বরূপ:

mkdir /media/paul/cifsShare

এছাড়াও, উদাহরণস্বরূপ মাউন্ট কমান্ডে পাসওয়ার্ড বাদ দেওয়া যেতে পারে (ফাইল / ফোল্ডার মোডগুলিও প্রদর্শন করবে):

sudo mount -t cifs //nas-server/cifsShare /media/paul/cifsShare -o username=paulOnNAS,iocharset=utf8,file_mode=0777,dir_mode=0777,soft,user,noperm

এক্ষেত্রে আপনাকে মাউন্টিং মুহুর্তে পাসওয়ার্ড (আসলে 2 পাসওয়ার্ডের জন্য) জিজ্ঞাসা করা হবে।

সাম্বা ডকুমেন্টেশনের মাধ্যমে এটি কীভাবে করবেন এবং সঠিকভাবে এটি শুরু করার সময় মাউন্ট করার জন্য সেটআপ ইত্যাদি বিষয়ে পড়ুন etc.


2
সাম্বা শেয়ারটি মাউন্ট করার কোনও উপায় নেই 1) পাসওয়ার্ডকে হার্ড কোডিং না করে এবং 2) রুট হতে হবে?
এমসি এক্সচেঞ্জ

1
@ এমসি এক্সচেঞ্জের মূল প্রয়োজন এবং আপনার শংসাপত্রগুলি সুরক্ষিত করতে আপনি
এসএমবি

4
এছাড়াও নিশ্চিত করুন যে আপনি আছে করা cifs-utilsইনস্টল হয়েছে: sudo apt-get install cifs-utils। আরও তথ্যের জন্য এই উবুন্টু সহায়তা ডক দুর্দান্ত।
মার্কো প্যাশকভ

1
উবুন্টুতে এসএসএস-এর শুরু হলে পাইনিবারহুড আমাকে সেগমেন্টেশন দোষ দেয় 14.04
পাভেল নিডোবা

1
@ মারকোপাশকভ cifs-utilsতিনিই আমাকে উত্থিত করে চলেছেন। এর কিছুই অন্যথায় কাজ করবে না। এটি সরাসরি উত্তরের অন্তর্ভুক্ত করা উচিত।
রুবিনোরেলগুলি

13

এটি ম্যাপ 7 যেমনটি বলেছে, তবে প্রতিবার আপনি যখন ড্রাইভে কোনও ফাইল পরিবর্তন করেন আপনি রুট অনুমতিগুলি ব্যবহার করতে না চান, তবে আপনাকে একটি ব্যবহারকারী ফোল্ডারে মাউন্ট করতে হবে এবং নিশ্চিত করতে হবে যে গিড এবং ইউইডটি আপনার ব্যবহারকারীর নামেই সেট করা আছে? ।

কমান্ড তাদের সেট করে:

mount -t cifs -o username=USERNAME,password=PASSWD,uid=$USER,gid=$USER //192.168.1.88/shares ~/mnt/share

নোট করুন যে mntফোল্ডারের ~/mnt/shareপরিবর্তে তৈরি করা হয়েছিল /mnt/share

এছাড়াও আপনি পাসওয়ার্ড = PASSWD ছেড়ে দিতে পারেন যদি আপনি এটি কমান্ডের পরিবর্তে আপনাকে অনুরোধ জানাতে চান যা আপনার শেলের ইতিহাসে সঞ্চিত রয়েছে:

mount -t cifs -o username=USERNAME,uid=$USER,gid=$USER //192.168.1.88/shares ~/mnt/share

1
কয়েকটি উদাহরণ সহ আরও সম্পূর্ণ উত্তর দিন এবং আমি উজ্জীবিত হব :)
ঝড়

5

1) আমার সাম্বা শেয়ারটি কাজায় (উবুন্টু 16.04 "এক্সপ্লোরার") হিসাবে

smb://thinkpad/ddrive/

এটি একটি ভাল লিথমাস পরীক্ষা, কোনও সংযোগ / পথের সমস্যা নেই।

( সতর্কতা : যদি আপনি আপনার উইন্ডোজ মেশিনের পাসওয়ার্ড শংসাপত্রাদি সম্পর্কে কজা জিজ্ঞাসা করেন তবে আপনি ওয়ার্কগ্রুপ থেকে ডোমেনটিকে মেশিনের নাম, অর্থাৎ 'থিঙ্কপ্যাড' এ স্যুইচ করতে চাইতে পারেন Then তাহলে আপনার ড্রাইভের সত্যিকারের স্থানীয় লগইন শংসাপত্রগুলি করা উচিত))

2) যদি এটি কাজ করে, এখানে আদেশটি আসে:

sudo mount -t cifs -o username=frank //thinkpad/ddrive /mnt/ddrive
  • আগেই নিশ্চিত হয়ে নিন, / mnt / ddrive খালি ডিরেক্টরি হিসাবে উপস্থিত রয়েছে।
  • আপনি শীতলতে ,password=supersecretব্যবহারকারীর নাম = এর পরে সরাসরি (কোনও স্থান নেই) যুক্ত করুন, তবে আপনি যখন আদেশটি প্রবেশ করবেন তখন আপনি অনুরোধের জন্য অপেক্ষা করতে পারেন।

2
এটি নির্ধারণ করতে আমার কিছুটা সময় লাগল, যেখানে আমি নিমো / লিনাক্স মিন্টে এসএমএস: // .... পাথটি টাইপ করতে পারি, তবে আসলে এটি বেশ সহজ: যদি পথ ইনপুট বাক্সটি দৃশ্যমান না হয় তবে এটিতে সক্ষম করুন মেনু দেখুন।
পেডি টি।

3

আমি এই দাবির সাথে একমত নই যে সিআইএফএস সংযোগগুলি করার জন্য মূলটি সর্বদা প্রয়োজন। এটি সত্য, এটি সবসময় সিএলআই এসএমএমউন্টের জন্য প্রয়োজন, তবে নটিলাসের মতো একটি ফাইল ম্যানেজারের একটি সিআইএফএস শেয়ার ভাগ করার ক্ষমতা রয়েছে এবং এটি রুট হওয়ার প্রয়োজন নেই।

আমি জিনোম ব্যবহার করি না, তবে আমি এখনও নটিলাস ইনস্টল করেছি। ডেস্কটপটি ধরে নেওয়ার চেষ্টা না করার জন্য এটি একটি টার্মিনালে চালান

$ nautilus --no-desktop &

উবুন্টু 16.04 এ, বাম পাশের গাছের মেনুটির নীচে "সার্ভারে কানেক্ট করুন" রয়েছে। এটি ক্লিক করুন, পরামর্শটি "smb: //foo.example.com" টাইপ করুন। smb "cifs" এর জন্য পুরানো শব্দ, এবং আপনি যদি আপনার সার্ভারে রেখে smb: // এর সাথে ভাগ করে নেন তবে সংযোগ কাজ করে! আমি কথা দিচ্ছি। যদি আপনার ভাগ একটি নামযুক্ত জিনিস হয় তবে এটি একটি স্ল্যাশের পরে "smb: //foo.example.com/myshare" দরকার।

আমি অন্য ফাইল পরিচালকদেরও একইভাবে ব্যবহার করেছি। প্রোটোকলটি "এসএমবি: //" হতে হবে।


3
  1. আপনি সমস্ত বিবরণগুলি / etc / fstab এ রাখতে পারেন যাতে আপনার সিস্টেমের সূচনাতে ডিরেক্টরিগুলি মাউন্ট করা যায়। উইন্ডোজ বা এসএমবি সার্ভার আইপি ঠিকানায় থাকলে 192.168.1.1

    /etc/fstab
    //192.168.1.1/SharedFolder/    /mnt/linux_smb   cifs    username=winuser,password=TopSecret   0    0
    
  2. লিনাক্স মাউন্ট পয়েন্ট হিসাবে ডিরেক্টরি তৈরি করুন

    mkdir /mnt/linux_smb
    chmod 755  /mnt/linux_smb
    
  3. প্রথমবারের জন্য এটি ম্যানুয়ালি মাউন্ট করুন

    mount -a
    
  4. পরিণামে ত্রুটিগুলি খুঁজে পাওয়া যাবে

    dmesg | tail 
    

3
  1. সিআইএফ / এসএমবি-র সংস্করণগুলি যখন লিনাক্স এবং উইন্ডোজের মধ্যে সামঞ্জস্যপূর্ণ না হয় তখন সমাধানের জন্য নির্দিষ্ট সমস্যা এবং খুব হতাশাবোধ রয়েছে। সেক্ষেত্রে আপনি "ভার্সেট = 2.1" যুক্ত করে fstab লাইনে ছোট্ট ছোটাছুটি তৈরি করতে পারেন

    সুতরাং, উইন্ডোজ বা এসএমবি সার্ভারের আইপি ঠিকানায় থাকলে 192.168.1.1

    /etc/fstab
    
    //192.168.1.1/SharedFolder/   /mnt/linux_smb   cifs   vers=2.1,username=winuser,password=TopSecret   0    0
    
  2. 2, 3 এবং 4 পদক্ষেপ পূর্ববর্তী উত্তরের মতো রয়েছে।


1

কমান্ড লাইন থেকে সিআইএফএস ফাইল সিস্টেমটি মাউন্ট করতে এবং একটি পরীক্ষা ফাইল তৈরি / মুছতে আমি একটি ছোট স্ক্রিপ্ট (এটি যদিও ফেডোরার জন্য বোঝানো হয়েছে) একসাথে রেখেছি। কিছুটা কাজে লাগতে পারে:

#!/bin/bash
# Passes https://www.shellcheck.net/

set -o nounset

# See 
#   https://wiki.samba.org/index.php/Mounting_samba_shares_from_a_unix_client
#   https://access.redhat.com/solutions/448263
# and also
#   https://serverfault.com/questions/309429/mount-cifs-credentials-file-has-special-character

# One needs to run "yum install cifs-utils" to have the kernel module, man page
# and other stuff.

rpm --query cifs-utils > /dev/null

if [[ $? != 0 ]]; then
   echo "Package cifs-utils is not installed -- exiting" >&2
   exit 1
else 
   ver=$(rpm --query cifs-utils)
   echo "Package $ver exists ... good!" >&2
fi

# Where to find credentials? Use the "credential file" approach, which
# we call "authfile". Example content (w/o the leading #) below.
# Make sure there are no spaces around '=' (this is different than
# for "smbclient" which can deal with spaces around '='.)
# ----8<------8<----------------
# username=prisoner
# password=KAR120C
# domain=VILLAGE
# ----8<------8<----------------
# Trailing empty lines will lead to (harmless) error messages
# "Credential formatted incorrectly: (null)"

authfile='/etc/smb.passwd' # Make sure read permissions are restricted!!

# Server to contact.
# In the UNC path, we will use DNS name instead of the (more correct?)
# NetBIOS name.
# mount.cifs manpage says: "To mount using the cifs client, a tcp name
# (rather than netbios name) must be specified for the server."

server_dns=thedome.example.com

# The name of the connecting client, just to be sure (probably useless)

client_nbs=$(hostname --short | tr '[:lower:]' '[:upper]')

if [[ -z $client_nbs ]]; then
  client_nbs=UNKNOWN
fi

# Connect to a certain service (which is a fileservice)
# and then switch to the given directory.
# Instead of appending $directory to form the complete UNC
# (Uniform Naming Convention) path, one could also use the option 
# "prefixpath".
# If there is no need to mount a subdirectory of the service,
# the UNC would just be unc="//$server_dns/$service_name"

service_name='information'
directory='PERSONALDATA'

unc="//$server_dns/$service_name/$directory"

# Finally, we will mount the CIFS filesystem here (the
# permissions on that node are not directly of interest)

mntpoint=/mnt/portal

if [[ ! -d "$mntpoint" ]]; then
   mkdir "$mntpoint"
   if [[ $? != 0 ]]; then
      echo "Could not create mountpoint '$mntpoint' -- exiting" >&2
      exit 1
   fi
fi

# Only this user will be able to access the mounted CIFS filesystem

user=number6
group=number6

# Try to mount this so that only user "number6" can access it

mount -t cifs \
   "$unc" \
   "$mntpoint" \
   --read-write \
   --verbose \
   -o "credentials=$authfile,uid=$user,gid=$group,netbiosname=$client_nbs,file_mode=0660,dir_mode=0770"

res=$?

if [[ $res != 0 ]]; then
   echo "Mount failed!" >&2
   echo "Return code $res; more info may be in kernel log or daemon log" >&2
   echo "Try 'journalctl SYSLOG_FACILITY=0' or 'journalctl SYSLOG_FACILITY=3'" >&2
   echo "...exiting" >&2
   exit 1
fi

# Check permissions on the mount point

stat=$(stat --format="group=%G user=%U access=%A" "$mntpoint")
soll="group=$group user=$user access=drwxrwx---"

if [[ $stat != "$soll" ]]; then
   echo "Incorrect permissions on root of '$mntpoint'" >&2
   echo "Expected: $soll" >&2
   echo "Obtained: $stat" >&2
   echo "...exiting" >&2
   umount "$mntpoint"
   exit 1
fi

# CD to the mountpoint to be sure

cd "$mntpoint"

if [[ $? != 0 ]]; then
  echo "Could not cd to '$mntpoint'" >&2
  exit 1
fi

# CD to directory TEST which must exist (change as appropriate)

newcd="$mntpoint/TEST"

if [[ ! -d "$newcd" ]]; then
   echo "Directory '$newcd' not found - can't test!" >&2
   echo "...exiting" >&2
   exit 1
fi

cd "$newcd"

if [[ $? != 0 ]]; then
  echo "Could not cd to '$newcd'" >&2
  exit 1
fi

# Create a file and check the permissions

testfile=$(mktemp --tmpdir="$newcd")

if [[ $? != 0 ]]; then
   echo "Could not create temporary file in '$newcd'" >&2
   exit 1
fi

stat=$(stat --format="group=%G user=%U access=%A" "$testfile")
soll="group=$group user=$user access=-rw-rw----"

if [[ $stat != "$soll" ]]; then
   echo "Incorrect permissions on temporary file '$testfile'" >&2
   echo "Expected: $soll" >&2
   echo "Obtained: $stat" >&2
   echo "...exiting" >&2
   exit 1
fi

/bin/rm "$testfile"

echo "Mounted '$unc' on '$mntpoint'" >&2

1

বিভিন্ন মাউন্টিং পদ্ধতিগুলির কাজ কীভাবে ক্লান্ত হয়ে পড়েছে তবে আপনি এমন কিছু বিবেচনা করতে চাইতে পারেন

আপনি যদি নিজের শংসাপত্রগুলি সরাসরি / etc / fstab এ প্রবেশ করতে না চান তবে আপনি তার পরিবর্তে একটি মাউন্ট বিকল্প ব্যবহার করতে পারেন: শংসাপত্রগুলি = / আপনার / পথ / এখানে /। শংসাপত্রগুলি

এটিতে ব্যবহারকারীর নাম = এমসু ব্যবহারকারীর পাসওয়ার্ড = এমস্পাসওয়ার্ড থাকা উচিত

ফাইলটি সংরক্ষণ করুন এবং আপনার পছন্দসই সম্পাদকটি থেকে প্রস্থান করুন।

অনুমতিগুলি chmod 600 এ পরিবর্তন করা উচিত

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

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