web-dev-qa-db-ja.com

ログイン時にfstabではなく起動スクリプトを使用してSamba共有をマウントする

背景

ユーザーがログインしたときに、パスワードで保護されたSamba共有をマウントするコマンドを自動的に実行しようとしています。問題は、ラップトップを別のユーザーと共有し、do n'tログイン時にSamba共有をマウントしたい。マウントしたいだけだログインすると。ユーザー固有のものにするため、fstabファイルを編集することはできません。

先行研究

ブート/ログインでのSamba共有のマウントとスクリプトの使用 」および「 sambaをマウントする適切なfstabエントリブート時に共有 、」が、ほとんどの回答はfstabの編集を含んでおり、ほとんどの人にとってはうまく機能しますが、ここでは探していません。

これまでにやったこと

これを行うことにより、コマンドラインからSamba共有を手動でマウントできます。

Sudo mount -t cifs //centaroo.local/Me /media/Me -o uid=scott,gid=scott,credentials=/home/scott/.smbcredentials,iocharset=utf8,sec=ntlm,file_mode=0600,dir_mode=0700

問題ステートメント

前のコマンドは、コマンドラインから実行するとうまく機能します。Sudoのアクセス許可を得るためにパスワードの入力を求められ、それを入力すると、コマンドが実行されます。問題は、まったく同じコマンドを[スタートアップアプリケーションの設定]> [スタートアッププログラムの編集]の[コマンド]フィールドに追加し、変更を保存し、再起動して再度ログインすると、Samba共有が期待どおりにマウントされないことです。 Sudoとして実行するにはroot権限が必要であり、スタートアッププログラムの環境設定のスクリプトでは入力する方法がないため、スクリプトが失敗するだけだと思われます。

これを回避するにはどうすればよいですか?

3
Scott

さて、私は(他の人の助けを借りて)自分でこれを解決することができました。根本的な問題は、私が疑ったように、パスワードを入力せずにルート権限を必要とするコマンドを実行しようとしていたという事実でした。スレッドの指示に従うことでこの問題を解決しました " パスワードを求められずにスクリプト内のコマンドをSudoする方法 "。長いことと短いことです。私は、「script-mount-samba-share.sh」というシェルスクリプトを作成しました。このスクリプトには、実行するマウントコマンドを含む1行しか含まれていません。

mount -t cifs //centaroo.local/Me /media/Me -o uid=scott,gid=scott,credentials=/home/scott/.smbcredentials,iocharset=utf8,sec=ntlm,file_mode=0600,dir_mode=0700

次に、ファイルの所有権をroot:rootに変更し、アクセス許可を700に変更しました。次に、パスワードを入力せずにそのスクリプトを実行できるようにSudoを設定し、[スタートアップアプリケーションの設定]> [スタートアップの編集「Sudo /home/scott/script-mount-samba-share.sh」(引用符なし)へのプログラム、および出来上がり。次にユーザーをリブートしてログインすると、指を離さずにSamba共有がマウントされました。また、別のユーザーで再起動してログインしたときに、Samba共有がマウントされないこともテストしました。

今私が克服しようとしている唯一のマイナーなキャッチは、すでにログインしてからユーザーを別のユーザーに切り替えると、Sutilの共有がNautilusの左側のナビゲーションバーに表示されることです。自分のユーザーでログインしたときにマウントされますが、マウントされた共有を他のユーザーのNautilusに表示したくないので、次のタスクはその部分を実現する方法を見つけ出すことです。

1
Scott

Mountコマンドのユーザー名とパスワードを追加することが重要です。追加しないと、パスワードを要求される場合があります。私にとってこれはうまくいきました:

Sudo mount -t cifs //centaroo.local/Me /media/Me -o uid=scott,gid=scott,user=,password=,iocharset=utf8,sec=ntlm,file_mode=0600,dir_mode=0700

もちろん、/ etc/sudoersのすべての変更を含む

0
Balazs Molnar