web-dev-qa-db-ja.com

fstabおよびcifsマウント、fstabの外部に認証情報を保存することは可能ですか?

現在、cifsを使用して(認証が必要な)ネットワーク共有を/ etc/fstabにマウントしています。これはうまく機能しますが、認証の詳細(ユーザー名/パス)をfstabの外に移動し、chmodで600にできるようにしたいと思います(許可を変更するとfstabで問題が発生する可能性があるため)。これが可能かどうか疑問に思っていました(多くのユーザーのシステムで、これらのアクセス許可をすべてのユーザーが表示できるようにしたくない)。

から:

//server/foo/bar /mnt/bar cifs username=user,password=pass,r 0 0

に:

//server/foo/bar /mnt/bar cifs <link to permissions>,r 0 0

(またはこれに類似した何か)。ありがとう。

10
TJ L

Mount.cifsマンページから:

 credentials = filename 
は、ユーザー名やパスワードを含むファイルを指定します。ファイルの形式は次のとおりです。
 
 username = value 
 password = value 
これは、/ etcなどの共有ファイルにプレーンテキストのパスワードを含めるよりも推奨されます/ fstab。資格情報ファイルを適切に保護してください。
 
11
janneb

次のような資格情報オプションを使用します。

http://www.justlinux.com/nhf/Filesystems/Mounting_smbfs_Shares_Permanently.html

ウェブサイトからの例:

cd
echo username=mywindowsusername > .smbpasswd
echo password=mywindowspassword >> .smbpasswd
chmod 600 .smbpasswd

コマンドのWindowsユーザー名とパスワードを置き換えます。 root以外の誰もこのファイルの内容を読み取ることができません。

作成したら、/ etc/fstabファイルの行を次のように変更します。

//servername/sharename /mountdirectory smbfs credentials=/home/myhomedirectory/.smbpasswd 0 0

/ etc/fstabの例:

//server/share/   /mnt/localmountpoint   cifs   credentials=/root/.creda

jannebの投稿とmanページへのリンクは、信任状ファイルに必要なものを示しています。

8
damorg

だから私は両方の答えを蓄積しています

  1. ファイルを作成します。 /root/.cifs

    username=value
    password=value
    domain=value (optional)
    
  2. 権限を設定600(rw-権限)資格情報を保護します

    # chmod 600 /root/.cifs
    
  3. パス credentials=/root/.cifsの代わりにコマンドにusername=およびpassword=

6
vladkras