お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-03-24 19:16:49

TAT
メンバ
From: Tokyo or Kobe
登録日: 2007-12-22

外付けHDDのパーミッション

TATと言います。
自宅のLANおよび外部からのファイル共有のためにファイルサーバーを構築しています。(マシンはeeepc 4G)
外付けのUSB HDDをファイル保管場所とし、主としてリモートアクセス(Open SSH)でファイル管理を行っています。
先日、サーバーのOSをubuntu 9.10デスクトップエディションとは別にSDHCカードにubuntu9.10サーバーエディションをインストールしたところ、共有ファイルを保存するディレクトリ(/media/disk/pub)の所有者がユーザーではなく、rootに設定されていて、読み込みはできますが、書き込みができない状態になりました。

ls -l /media/disk
drwxr-xr-x 6 root root 16384 2010-03-21 19:16 pub

対処1
sudo chmod -R 777 /media/disk
としましたが、実行後もパーミッションは上記のままで変更されません。

対処2
sudo chown -R username /media/disk
としたら
Operation not permitted
とエラーメッセージが返ってきます。

デスクトップエディションでは所有者はuser名になっていますので、読み書きとも可能ですが、サーバーエディションではなぜrootになるのか、また変更ができないのかよく分かりません。

対処法を探していたらファイルシステムの問題ともありましたがよく理解できていませんでした。
fdiskコマンドの結果を以下に示します。/dev/sdc1と/dev/sdc2が外付けHDDでのディレクトリです。
/dev/sda*は本体のSSDにインストールしているubuntu9.10のデスクトップエディションです。
/dev/sdb*は今回SDカードに導入したubuntu9.10のサーバーエディションです。
----------------------------------------------------------------------------------------
username@eeepc:~$ sudo fdisk -l
[sudo] password for username:

ディスク /dev/sda: 4001 MB, 4001292288 バイト
ヘッド 255, セクタ 63, シリンダ 486
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x1483b3e5

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sda1   *           1         457     3670821   83  Linux
/dev/sda2             458         486      232942+   5  拡張領域
/dev/sda5             458         486      232911   82  Linux スワップ / Solaris

ディスク /dev/sdc: 160.0 GB, 160041885696 バイト
ヘッド 255, セクタ 63, シリンダ 19457
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x9f6e9f6e

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sdc1            6422       19457   104711670    b  W95 FAT32
/dev/sdc2               1        6421    51576651   8e  Linux LVM

領域テーブル項目がディスクの順序と一致しません

ディスク /dev/sdb: 8239 MB, 8239710208 バイト
ヘッド 255, セクタ 63, シリンダ 1001
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x000eff01

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sdb1   *           1         952     7646908+  83  Linux
/dev/sdb2             953        1001      393592+   5  拡張領域
/dev/sdb5             953        1001      393561   82  Linux スワップ / Solaris
---------------------------------------------------------------------------------------------

対処方法をご存知の方がおられたらご教示いただければ助かります。

オフライン

 

#2 2010-03-25 01:15:14

kiyop
拒否
From: http://kiyoandkei.bbs.fc2.com/
登録日: 2010-01-23

Re: 外付けHDDのパーミッション

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#3 2010-03-25 01:17:48

kiyop
拒否
From: http://kiyoandkei.bbs.fc2.com/
登録日: 2010-01-23

Re: 外付けHDDのパーミッション

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#4 2010-03-25 09:07:21

TAT
メンバ
From: Tokyo or Kobe
登録日: 2007-12-22

Re: 外付けHDDのパーミッション

kiyopさん コメントありがとうございます。

以下の操作を実行しました。
-------------------------------------------------------------------
username@eeepc:~$ ls -la /media/disk
合計 36
drwxr-xr-x 3 root root 16384 1970-01-01 09:00 .
drwxrwxrwx 6 root root  4096 2010-03-24 13:12 ..
drwxr-xr-x 6 root root 16384 2010-03-24 23:04 pub

username@eeepc:~$ grep /media/disk /etc/mtab
/dev/sdc1 /media/disk-1 vfat rw 0 0
/dev/sdc2 /media/disk vfat rw 0 0
----------------------------------------------------------------------

/media/disk の所有権はrootと考えられます。

試しに一度/media/disk をumountの上削除して再度
mkdir /media/disk
とすると 所有者はusernameで作成されています。
その上で sudo mount /dev/sdc2 /media/disk
の操作を行うと所有者がrootに変更されてしまいます。

分かりにくい表現ですみません。

オフライン

 

#5 2010-03-25 09:27:01

hmatsue
アドバイザ
登録日: 2009-03-10

Re: 外付けHDDのパーミッション

目的がいまいち理解できていませんが、外付け(USB接続かなにか?)のHDDを/media/pubにマウントして、sambaかなにかで共有したいのであれば、マウントしたいパーティションを/etc/fstabに記述して明示的にマウントしてやればよいのではないでしょうか。
マウントするパーティションがvfatでフォーマットされているのであれば、uid, gid, umaskあたりを指定すれば目的が達成されるのではないかと。
# 脱線気味ですが、sdcの中身がなにかおかしなことになっていますね。
# 時間があれば、データをどこかに退避させて、パーティションを切り直しておいた方がよいかも。

オフライン

 

#6 2010-03-25 12:21:43

kiyop
拒否
From: http://kiyoandkei.bbs.fc2.com/
登録日: 2010-01-23

Re: 外付けHDDのパーミッション

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#7 2010-03-25 12:25:36

kiyop
拒否
From: http://kiyoandkei.bbs.fc2.com/
登録日: 2010-01-23

Re: 外付けHDDのパーミッション

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#8 2010-03-25 12:47:45

gontomo
メンバ
From: 北海道
登録日: 2010-02-17

Re: 外付けHDDのパーミッション

なんだか問題がごっちゃになっているような・・・
サーバーマシン上でのアクセス権限と、ファイル共有のアクセス権限は別に考えたほうが良いです。(いや、つながってるんですが)

まずは何故、外付けHDDのファイルシステムを vfat にされているのでしょうか?
※vfat上のファイルに対して chown/chmod は使用できなかったと思います。

オフライン

 

#9 2010-03-25 13:38:46

hmatsue
アドバイザ
登録日: 2009-03-10

Re: 外付けHDDのパーミッション

vfatはファイルの所有者/グループ/権限などを保持しないファイルシステムなので、chown/chmodは無効ですね。
何故に今更vfat、というのは同感ですが、いろんなPCにHDDを持ち出して繋ぐことがある、とかそういう理由なのでしょうか。
すでにファイル共有はできていた実績ありとのことなので大丈夫かも知れませんが、不明な点があればsambaなりsftpなりの設定内容を投稿いただいた方が話しがスムーズにいくかも知れませんね。
scpしているだけ、とかならローカルでのアクセス権限(所有者やグループなども含めて)の設定だけで解決する話のような気がします。
なおfstabに記述する場合は、
codepage=932,iocharset=utf8
をつけておいた方がよいかもです。

オフライン

 

#10 2010-03-25 13:40:37

ack
メンバ
登録日: 2007-06-01

Re: 外付けHDDのパーミッション

すこし整理してみます。

TAT による投稿:

ubuntu 9.10デスクトップエディションとは別にSDHCカードにubuntu9.10サーバーエディションをインストールしたところ、共有ファイルを保存するディレクトリ(/media/disk/pub)の所有者がユーザーではなく、rootに設定されていて、読み込みはできますが、書き込みができない状態になりました。

もしデスクトップ版での使用時に「場所」メニューからのマウントを使用しているなら、自動的にそれを実行したユーザが読み書きできるようにマウントされます。
このマウントには 伝統的な mount コマンドを使っておらず、gvfsの機能で行われています。

デスクトップ環境の入っていない(よってgvfsが入っていない)サーバ版の初期状態では伝統的な mount を使う事になりますが、
この際 vfat はUnixパーミッションを保持できないファイルシステムのため、root以外のユーザが書き込みをするには
mount実行時にオプションを付けるか、それに相当するものを事前に今起動しているOSのfstabに書いておく必要があります。

これらが根本的な問題と思われます。

なお、サーバ版でも gvfs パッケージ群をインストールし、gvfs-mount コマンドを使う事で「場所」メニューからのマウントと同じ動作をコマンドラインからさせることが一応は可能です。

オフライン

 

#11 2010-03-25 19:59:11

TAT
メンバ
From: Tokyo or Kobe
登録日: 2007-12-22

Re: 外付けHDDのパーミッション

皆様

コメント有難うございました。おかげで解決しました!
外付けUSBディスクをマウントする時にkiyopさんに提示いただいた

$ sudo mount -t vfat /dev/sdc1 /media/disk -o rw,uid=1000,gid=1000,umask=000,utf8

とオプションの詳細を記述することにより、パーミッションがrootではなく、ユーザーで指定でき、無事ファイルの読み書きが出きるようになりました。

ファイルシステムを vfat にしたのは、単にWindowsで作成したファイルも共有したいがためで、この選択が適切かどうか考えても見ませんでした。
皆様の書き込みを読むうちに、自分の中途半端な知識がどんどん白日のもとにさらされることになりましたが、とても勉強になりました。
改めてお礼申し上げます。

オフライン

 

Board footer

Powered by FluxBB