出席

第21章 ファイルとディレクトリの高度な操作

バイナリファイル

  • od
    % od -x filename

モードとマスク

  • モード:ファイルの型とアクセス権を制御する16ビット(8進数表現する)
    • モードは,ls -lコマンドで左側に表示される.
      上位4bituidgidstickyusergroupothers
      sstrwxrwxrwx
  • 型:
    ls -l上位4bit(8進表現)上位4bit意味
    -0101000plain file(通常のファイル)
    d0040100ディレクトリ
    l0121010シンボリックリンク
    c0020010文字型デバイスファイル
    b0060110ブロック型デバイスファイル
    s0141100socket
    p0010001名前付きパイプ

set-uidビット,set-gidビット

実行ファイルのOwner,Groupの権限でユーザが実行するためのモード ユーザ j06001 グループ y06j が,以下のコマンドhogehogeを実行したとき,

モードコマンド実効ユーザ実効グループ
通常-rwxr-xr-x root wheel hogehogej06001y06j
set-uidビットがオン-rwsr-xr-x root wheel hogehogerooty06j
set-gidビットがオン-rwxr-sr-x root wheel hogehogej06001wheel
% ls -l /{,usr/,usr/local/}{,s}bin/ | grep 'r[-w]s'

上記のコマンドで,set-uidビット,set-gidビットが立っているファイルを探そう.

stickyビット

ディレクトリのOtherに対して適用されて,任意のユーザに読み書き可のディレクトリ下の削除権限をオーナーのみに限るモード(これがオンでないとき,誰にでも読み書きできるうえに,削除もされてしまう.)

% ls -ld /private/tmp 
drwxrwxrwt    18 root  wheel   612 Jul  6 10:26 /private/tmp/

というように,otherの実行ビットのところがtで表示される.

% ls -l /{,private/} | grep 'r[-w]t'

上記のコマンドでstickビットが立っているディレクトリを探そう.

例:

% ls -l
drwxr-xr-x    2 koji     teach        4096 Jun 27 08:51 public_html/
-rw-r--r--    1 koji     teach           4 Jul  4 00:41 test.txt

よく使われるモード

ls -lの表示8進数
rw-r--r--644
rwxr-xr-x755
rw-------600
rwx------700
例:
% chmod 755 file1
% chmod g+r file2

マスク:新しくファイルを作成する際に、許可しないビットを示す

% umask

デバイスファイル

どんなデバイスファイルがあるか?

% ls /dev

ファイルシステム



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-06-20 (木) 14:45:26 (2337d)