回答:
pyNeighborhoodがあります。これは、Samba共有をマウントするためのGUIであり、ソフトウェアセンターでダウンロードできます。
設定と使用方法に関する良い記事がここにあります。
最初にcifs utilsをインストールします
sudo apt-get install cifs-utils
または、基本的な端末コマンドは次のとおりです。
mount -t cifs -o username=USERNAME,password=PASSWD //192.168.1.88/shares /mnt/share
Nautilusでマウントを確認したい場合は、最初に/ media / USERNAME /にサブフォルダーを作成するとよいでしょう:
mkdir /media/paul/cifsShare
また、たとえば、mountコマンドではパスワードを省略できます(ファイル/フォルダーモードのデモも行います)。
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つのパスワード)を求められます。
ここでSambaのドキュメントを読んで、起動時などにマウントするように正しく設定してください。
cifs-utils
インストール済みであることを確認してくださいsudo apt-get install cifs-utils
。詳細については、このubuntuヘルプドキュメントが素晴らしいです。
cifs-utils
が私を元気づけてくれました。そうでなければ、これは機能しません。これは、回答に直接含める必要があります。
map7のとおりですが、ドライブ上のファイルを変更するたびにルート権限を使用したくない場合は、ユーザーフォルダーにマウントし、gidとuidがユーザー名に設定されていることを確認する必要があります。
それらを設定するコマンド:
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)私のSamba共有は、Caja(ubuntu 16.04„ explorer“)で次のように表示されます。
smb://thinkpad/ddrive/
これは優れたlithmusテストであり、接続/パスの問題はありません。
(注意:Windowsマシンからパスワード資格情報についてcajaから尋ねられた場合、ドメインをWORKGROUPからマシン名、つまり「thinkpad」に切り替えることができます。ドライブの真にローカルなログイン資格情報が必要です。)
2)それが機能する場合、コマンドが来ます:
sudo mount -t cifs -o username=frank //thinkpad/ddrive /mnt/ddrive
,password=supersecret
、username =の後にコールド(スペースなし)を直接追加しますが、コマンドを入力するときにプロンプトが表示されるのを待つこともできます。cifs接続を行うにはルートが常に必要であるという主張には同意しません。確かに、CLI smbmountには常に必要ですが、nautilusなどのファイルマネージャーにはcifs共有をマウントする機能があり、rootである必要はありません。
Gnomeは使用していませんが、Nautilusをインストールしています。これを端末で実行して、デスクトップを乗っ取ろうとするのを防ぎます
$ nautilus --no-desktop &
Ubuntu 16.04では、左側のツリーメニューの下部に[サーバーに接続]があります。それをクリックして、提案はタイプ「smb://foo.example.com」です。smbは「cifs」の古い言葉であり、サーバーに入れて最初にsmb://と共有すると、接続は機能します。約束します。共有が名前付きのものである場合、スラッシュ「smb://foo.example.com/myshare」の後に必要です。
他のファイルマネージャーも同じように使用しました。プロトコルは「smb://」でなければなりません。
システムの起動時にディレクトリをマウントできるように、これらすべての詳細を/ etc / fstabに配置できます。WindowsまたはSMBサーバーがIPアドレス192.168.1.1にある場合
/etc/fstab
//192.168.1.1/SharedFolder/ /mnt/linux_smb cifs username=winuser,password=TopSecret 0 0
Linuxマウントポイントとしてディレクトリを作成する
mkdir /mnt/linux_smb
chmod 755 /mnt/linux_smb
初めてこれを手動でマウントする
mount -a
最終的なエラーは
dmesg | tail
CIF / SMBのバージョンがLinuxとWindowsの間で互換性がない場合、特定の問題が発生し、解決するのが非常にイライラします。その場合、「vers = 2.1」を追加してfstab行でマイナー変更を行うことができます。
したがって、WindowsまたはSMBサーバーがIPアドレス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、3、および4は、前の回答と同じままです。
コマンドラインからCIFSファイルシステムをマウントし、テストファイルを作成/削除するための小さなスクリプトを作成しました(ただし、Fedora用です)。役に立つかもしれません:
#!/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
さまざまなマウント方法がどのように機能するかは尽きましたが、考慮したいことがあります
資格情報を直接/ etc / fstabに入力したくない場合は、代わりにマウントオプションを使用できます:credentials = / your / path / here / .credentials
これには、username = msusername password = mspasswordを含める必要があります
ファイルを保存して、選択エディターを終了します。
権限はchmod 600に変更する必要があります
暗号化されたホームディレクトリがあり、起動時にマウントを有効にする場合は、必ずホームディレクトリの外にファイルを配置してください。/ etc /または/ media /の場所は、適切で覚えやすい場所です。