ローカルネットワーク上でフォルダーやファイルを共有するには
「ファイル(Nautilus)」アプリはファイルマネージャーです。「ファイル」はローカルネットワーク上でフォルダーやファイルを共有する仕組みを提供しており、簡単に他のPCとフォルダーやファイルをやりとりできます。
Sambaを利用している
この仕組みは「Samba」を利用して実現しています。そのため初めてこの機能を利用する時は「Samba」のインストールが促されます。
フォルダーを共有する
「ファイル」の共有機能は、フォルダーに対して設定します。つまり他のPCは共有されたフォルダー内のファイルにアクセスすることになります。
1.フォルダーを共有するには
早速「ファイル」を起動してフォルダーを共有してみましょう。
名前通り他のPCにファイルを公開するのにちょうど良いフォルダーですから、このフォルダーを共有してみましょう。
フォルダーのプロパティ画面が表示されるので、「ローカルネットワーク共有」タブをクリックします。
上記の画面が表示されるので、「このフォルダーを共有する」をクリックします。
画面の案内に従って操作してください。
後で共有したフォルダーを非公開(共有しない)に変更するには、このチェックを外してください。
他のPCからはここで指定した名称でフォルダーが見えます。
必要なら何かコメントを入力しておきましょう。
この設定を無効にすると、他のユーザーはこのフォルダー内でファイルの作成や削除を行えなくなります。
つまり他のユーザーからは読み取り専用になります。
他のユーザーには「ゲストによるアクセス」も含まれます。
他のPCがこのPCの共有フォルダーにアクセスする際、フォルダーを共有しているユーザーでのみ認証してアクセスするなら、この設定は無効でも良いです。
この設定を無効にすると、必ずユーザー認証が必要になります。
共有設定を変更したら、必ずこのボタンをクリックして共有設定を反映してください。
共有設定を反映したらこの画面を閉じます。
この場合以下のように確認画面が出るので、「自動的にアクセス権を付加する」ボタンをクリックしてください。
以下のように共有フォルダーのアクセス権が調整されます。
1-1.共有するフォルダーの選択
「Ubuntu」ではユーザーのホームフォルダー内に「公開」と言う名のフォルダーを配置しています。名前通り他のPCにファイルを公開するのにちょうど良いフォルダーですから、このフォルダーを共有してみましょう。
1-2.共有設定画面の表示
「公開」フォルダーを右クリックして表示されるメニューから「プロパティ」をクリックします。フォルダーのプロパティ画面が表示されるので、「ローカルネットワーク共有」タブをクリックします。
上記の画面が表示されるので、「このフォルダーを共有する」をクリックします。
1-3.Sambaのインストール
「Samba」がインストールされていない場合以下の画面が表示されるので、「サービスのインストール」ボタンをクリックして「Samba」をインストールします。画面の案内に従って操作してください。
2.フォルダーの共有設定
フォルダーの共有設定を行います。このフォルダーを共有する
このフォルダーを共有する場合は、チェックを入れます。後で共有したフォルダーを非公開(共有しない)に変更するには、このチェックを外してください。
共有名
ネットワーク上に表示する名称です。他のPCからはここで指定した名称でフォルダーが見えます。
コメント
ユーザー自身が設定するこのフォルダーの追加情報です。必要なら何かコメントを入力しておきましょう。
このフォルダー内でのファイルの作成・削除を他のユーザーに許可する
この設定を有効にすると、他のユーザーはこのフォルダー内でファイルの作成や削除を行えるようになります。この設定を無効にすると、他のユーザーはこのフォルダー内でファイルの作成や削除を行えなくなります。
つまり他のユーザーからは読み取り専用になります。
他のユーザーには「ゲストによるアクセス」も含まれます。
他のPCがこのPCの共有フォルダーにアクセスする際、フォルダーを共有しているユーザーでのみ認証してアクセスするなら、この設定は無効でも良いです。
ゲストによるアクセス
この設定を有効にすると、ユーザー名およびパスワードによるユーザー認証なしで、このフォルダーにアクセスできるようになります。この設定を無効にすると、必ずユーザー認証が必要になります。
共有を作成
共有設定を反映します。共有設定を変更したら、必ずこのボタンをクリックして共有設定を反映してください。
共有設定を反映したらこの画面を閉じます。
アクセス権の調整について
他のPCがこのPCの共有フォルダーにアクセスする際、フォルダーを共有しているユーザー以外のユーザーで認証して共有フォルダー内でファイルやフォルダーの作成や編集を行う場合、他のユーザーから共有フォルダーにアクセスできるように、共有フォルダーのアクセス権を調整する必要があります。この場合以下のように確認画面が出るので、「自動的にアクセス権を付加する」ボタンをクリックしてください。
以下のように共有フォルダーのアクセス権が調整されます。
3.共有設定完了
フォルダーの共有を有効にした場合、以下のようにフォルダーに共有中を示す共有アイコンが表示されるようになります。4.Sambaユーザーアカウントの作成
さてSambaユーザーアカウントが作成されていない場合、このままでは誰もユーザー認証を行えません。忘れずにSambaユーザーアカウントの作成を
自分のSambaユーザーアカウントをまだ作成していない場合、忘れずにSambaユーザーアカウントを作成しておきましょう。共有フォルダーにアクセスする他のPCは、このSambaユーザーアカウントを利用してユーザー認証を行います。
4-1.作業は端末から行う
この作業は「端末」から行います。事前に「端末」を起動しておいてください。
またこの作業を行えるのは、管理者のみです。
管理者については、以下を参照してください。
コマンドを端末に貼り付けるには
クリップボードにコピーしたコマンドを「端末」に貼り付けるには、「端末」上で「Shift + Ctrl + V」キーを押します。パスワードの入力が促されたら
以下のようにパスワードの入力が促されたら、自分のパスワードを入力して「エンター」キーを押します。
[sudo] ユーザー名のパスワード:
パスワードを入力しても何も表示されませんが、入力自体は行われています。
4-2.Sambaユーザーアカウントを確認するには
自分のSambaユーザーアカウントが存在するかどうか確認するには、以下のコマンドを実行してください。
sudo pdbedit -L
以下のように登録済みのSambaユーザーアカウントの一覧が表示されます。
「:」で区切られた一番最初の文字列がSambaユーザーアカウント名です。
この一覧の中に自分のSambaユーザーアカウントがあれば、この作業をスキップできます。
4-3.Sambaユーザーアカウントを登録するには
Sambaユーザーアカウントを登録するには、以下のコマンドを実行してください。sudo pdbedit -a -u ユーザー名
「ユーザー名」には「Ubuntu」に登録しているユーザーのユーザー名を指定してください。
4-4.パスワードの設定
以下のようにパスワードの入力が2回求められます。
このパスワードには任意のパスワードを指定できます。運用次第ですが、ユーザーのログインパスワードを指定するのも良いでしょう。
Sambaユーザーアカウントが登録されると、以下のように登録内容が出力されます。
以上で完了です。
Sambaユーザーアカウント名は、「4-2.」の方法で確認できます。
nobodyユーザーによるアクセス
他のPCからユーザー認証を行わずに匿名で共有フォルダーにアクセスする場合、ゲストによるアクセスは「nobody」ユーザーによるアクセスになります。
言い換えれば「nobody」ユーザーでパスワードなしで認証するようなものです。
しかしユーザーのホームフォルダー(/home/ユーザー名)のアクセス権は、他のユーザーからのアクセスを拒否しているため、「nobody」ユーザーからアクセスできません。
これは以下の仕様変更が影響しています。
ゲストによるアクセスを有効にするなら、ユーザーのホームフォルダーのアクセス権を変更する必要があります。
ただしセキュリティー上好ましくないと言う経緯で変更された仕様なので、ゲストによるアクセスは無効にしたままのほうが良いでしょう。
以下のように設定すればOKです。
設定したらこの画面を閉じます。
このファイルのアクセス権を確認すると、以下のように「nobody」ユーザーが設定されています。
このような状態が起きても特に問題がないなら、気にしなくても良いです。
ちなみにこのファイルをフォルダーを共有しているPCから書き込めるようにするには、もしくは通常のファイルと同じアクセス権にするには、他ユーザーが所有者なため管理者でアクセス権を変更する必要があります。
このファイルのアクセス権を確認すると、以下のように「自分」が設定されています。
こちらのほうが使い勝手が良いかと思います。
ただアプリの中には自動保存といったバックグラウンドでファイルを保存する機能を持つアプリもありますので、その点は留意してください。
もし読み取り専用として他のユーザーにアクセスさせるなら、共有設定の「このフォルダー内でのファイルの作成・削除を他のユーザーに許可する」を無効にしておきましょう。
しかしセキュリティーリスクがあるため、ここでは紹介しません。
Sambaユーザーアカウントが登録されると、以下のように登録内容が出力されます。
以上で完了です。
パスワードを変更したい場合
もし後からパスワードを変更したい場合、同じ手順で再度Sambaユーザーアカウントを登録(更新)してください。Sambaユーザーアカウントを削除するには
何かしらの都合で登録したSambaユーザーアカウントを削除したい場合は、以下のコマンドを実行してください。sudo pdbedit -x Sambaユーザーアカウント名
Sambaユーザーアカウント名は、「4-2.」の方法で確認できます。
5.ゲストによるアクセスを有効にするには
「2.フォルダーの共有設定」でゲストによるアクセスを有効にしても、このままではゲストによるアクセスはできません。nobodyユーザーによるアクセス
他のPCからユーザー認証を行わずに匿名で共有フォルダーにアクセスする場合、ゲストによるアクセスは「nobody」ユーザーによるアクセスになります。言い換えれば「nobody」ユーザーでパスワードなしで認証するようなものです。
しかしユーザーのホームフォルダー(/home/ユーザー名)のアクセス権は、他のユーザーからのアクセスを拒否しているため、「nobody」ユーザーからアクセスできません。
これは以下の仕様変更が影響しています。
ゲストによるアクセスを有効にするなら、ユーザーのホームフォルダーのアクセス権を変更する必要があります。
ただしセキュリティー上好ましくないと言う経緯で変更された仕様なので、ゲストによるアクセスは無効にしたままのほうが良いでしょう。
5-1.ホームフォルダーのプロパティ画面の表示
「ファイル」の左側にある「ホーム」を右クリックし、表示されるメニューから「プロパティ」をクリックします。5-2.アクセス権設定画面の表示
以下の画面が表示されるので「アクセス権」タブをクリックし、「その他」の「アクセス」を「アクセスのみ」に変更します。以下のように設定すればOKです。
設定したらこの画面を閉じます。
ユーザーの認証はフォルダーを共有しているユーザーで認証するのが楽
他のPCがこのPCの共有フォルダーにアクセスする際、共有フォルダー内でファイルの作成や編集を行った場合、ファイルやフォルダーのアクセス権は、認証に使用したSambaユーザーアカウントのアクセス権に設定されます。他のユーザーで認証した場合
例えば他のPCがゲスト(nobody)で認証し、共有フォルダー内でファイルの作成や編集を行った場合、フォルダーを共有しているPCからそのフォルダーを見てみると、以下のようにファイルが読み取り専用になっています。このファイルのアクセス権を確認すると、以下のように「nobody」ユーザーが設定されています。
このような状態が起きても特に問題がないなら、気にしなくても良いです。
ちなみにこのファイルをフォルダーを共有しているPCから書き込めるようにするには、もしくは通常のファイルと同じアクセス権にするには、他ユーザーが所有者なため管理者でアクセス権を変更する必要があります。
同じユーザーで認証した場合
その一方で他のPCがフォルダーを共有しているPCのユーザーと同じユーザーで認証し、共有フォルダー内でファイルの作成や編集を行った場合、フォルダーを共有しているPCからそのフォルダーを見てみると、以下のようにファイルが読み書き可になっています。このファイルのアクセス権を確認すると、以下のように「自分」が設定されています。
こちらのほうが使い勝手が良いかと思います。
ファイルの作成や編集を行わければアクセス権は変わらない
ゲストなど他のユーザーで認証してもファイルの作成や編集を行わければアクセス権は変わらないため、読み取り専用としてファイルにアクセスするならどちらでも良いでしょう。ただアプリの中には自動保存といったバックグラウンドでファイルを保存する機能を持つアプリもありますので、その点は留意してください。
もし読み取り専用として他のユーザーにアクセスさせるなら、共有設定の「このフォルダー内でのファイルの作成・削除を他のユーザーに許可する」を無効にしておきましょう。
smb.confで設定を変更する方法もある
「smb.conf」で「create mask」や「directory mask」などアクセス権を調整する設定があります。しかしセキュリティーリスクがあるため、ここでは紹介しません。