Linuxファイル・ディレクトリのパーミッションを強制的に変更する方法

このQ&Aのポイント
  • Linux上で特定のユーザに対してファイルのパーミッションを変更できないようにする方法について説明します。
  • Linux上でファイル(ディレクトリ)のパーミッションを強制的にrwxr_xr_xにする方法について説明します。
  • Linux上で特定のユーザが/homeより上の階層に移動できないようにする方法について説明します。
回答を見る
  • ベストアンサー

Linux上でファイル・ディレクトリのパーミッションを強制的に変える

Linux上でファイル・ディレクトリのパーミッションを強制的に変える Linuxでファイルサーバを立てています. まず,やりたいことは3つあります. 1.特定のユーザに対してファイルのパーミッションを変えるコマンド(chmod)を使用不可能にしたいのですがどうしたらよいのでしょうか? 2.ファイル(ディレクトリ)のパーミッションを強制的にrwxr_xr_xにしたいのですが,可能でしょうか?つまり,指定したパーミッション以外のファイル(ディレクトリ)をコピーしたといしても,そのファイルのパーミッションはrwxr_xr_xに強制的に変わるということです. 3.特定のユーザでディレクトリの移動を/homeより上の階層に動かしたくないのですがどうしたらよいのでしょうか?つまり自分と他のユーザのディレクトリは見に行けるがルート以下のシステム関連には移動してほしくないということです. よろしくおねがいします.

質問者が選んだベストアンサー

  • ベストアンサー
noname#111181
noname#111181
回答No.2

ANo.1で回答した者です。補足情報をありがとうございます。 まず、「ffftp」「winscp」はWindowsクライアントのアプリケーションの名称なので、Linuxサーバとは関係ない話ですよね。 シェル上での方法は知りませんが、ここでは、FTPで /home ディレクトリより上にアクセスできないようにする方法を回答します。 もしFTPデーモンとしてwu-ftpdをご利用でしたら、「FTPでディレクトリ移動を制限するには(wu-ftpd編)」(http://www.atmarkit.co.jp/flinux/rensai/linuxtips/132wuftpdset.html)の方法で制限できます。

その他の回答 (1)

noname#111181
noname#111181
回答No.1

1.「visudoコマンド」(http://www.garunimo.com/program/linux/visudo.xhtml)を使って設定できます。 2.できないはずです。 3.シェル上から移動できないようにするということですか?

penpower
質問者

補足

3-> シェルもありますし,ffftpとかwinscpとかでも移動させたくないです.

関連するQ&A

  • パーミッションの変更について

    rwxr-wr-w rwxr-wr-- rwxr-wr-t の内容のテキストファイルのパーミッションの変更コマンドをシェルスクリプトで書くにはどうしたらいいのかわかりません。 おしえていただくとありがたいです。 最初の一文字づつを読み込んでchmod ???と数字がでるようにしたいのですが 実行結果 ./a.txt r w x r - w r - w chmod 755と実行結果がでるようにしたいです。if文を沢山つかうのですか?

  • パーミッション(-rwxr-xr-x)だが、一般ユーザで実行できない

    パーミッション(-rwxr-xr-x)だが、一般ユーザで実行できない 最近CentOS5.3で勉強を始めた初心者です。 例えば、shutdownコマンドのパーミッションは、-rwxr-xr-xで、一番最後がxなので、一般ユーザでも 実行できそうにみえますが、実際にやってみると、「you must be root to do that!」とエラーになります。 また、rebootコマンドのパーミッションは、lrwxrwxrwxで、一般ユーザでも実行できそうにみえ るのですが、実際に一般ユーザで実施してみると、「must be superuser」と表示されます。 なぜ、パーミッション上で一般ユーザが実行可能「x」となっているのに、実行不可なのでしょうか? 恐れ入りますが、よろしくお願いいたします。

  • chmodでのパーミッション

    実行すると、同じディレクトリにあるディレクトリとその中のファイルを同じ階層にディレクトリを新規に作って、その中のファイルを全部コピーするスクリプトを組んでいます。 コピーはうまくいったのですが、パーミッションの設定がうまくいきません。 例えば @chmod("$dir/xxx.cgi",0755)or die("エラー"); と書くと、パーミッションは363になってしまいます。 5ファイルくらいあるのですが、他のパーミッション(例えば666など)も137になってしまいます。 Webを検索してもこういった事例にはおめにかからないのですが、私の使っている2つのサーバーで、どちらも同様の結果でした。 何がいけないのでしょうか? よろしくお願いいたします。 #ついでにmkdirも作成はできるのですが、パーミッションが必ず755になってしまいます。 #作成されたディレクトリやファイルのownerは、1つめのサーバーではnobody、もう一つのサーバーではログインユーザーになります。 #サーバーはどちらもLinuxです。 #PHPのヴァージョンは、1つめが4.3.1、2つめが4.3.4です。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • linuxでディレクトリをコピーしようとするとomitting directoryというエラー

    linuxでディレクトリをコピーしようとするとomitting directoryというエラーが出てコピーできません。 root@aaaaa# cp -p /home/dir1/ /home/dir2 cp: omitting directory `/home/dir1/' ちなみにこのディレクトリのパーミッションはdrwxr-xr-xです。 なんでしょうかこれは?

  • linux(fedora)root権限の設定

    お世話になります。 fedoraを使用している際、 rootで読み取れないフォルダができているのに気付きました。 システムファイル等ではなく、一般のファイルです。 どこでできたかわかりませんが、ソフトが自動生成したもののようです。 パーミッションは -wxr----tで、 rootで、コンソールから chmod -t <ディレクトリ名>や chmod -R 755 <ディレクトリ名> しても、許可されていない操作です。 権限がありません、等でどうにもなりません。 -wxですと、読み取り不可かと思いますが、 rootでも、強制的にディレクトリのパーミッションを 変更することはできないのでしょうか。 windowsでは所有権をリセットして・・・という手がありますが linuxではそのようなものはないでしょうか。 よろしくお願いします。

  • Apache2実行ユーザでLinuxディレクトリへのアクセス制御をするには?

    Apache2・Tomcatを使用したWebアプリケーションよりLinuxOS(CentOS4.4)内の特定のディレクトリのファイル一覧を取得また特定ユーザにのみそのディレクトリ内へのファイルの書込みを許可するというようなアプリケーションを作成中です。またこのアプリケーションのユーザ以外は上記ディレクトリへのアクセス許可を与えないようにしたいと思っています。そこでApache2の実行ユーザと同ユーザによってLinuxOS内の該当ディレクトリにパーミッションを設定すれば実現できるのではと思い自分なりに設定してみたのですがうまくいきません。 クライアントとしてブラウザからApache2に接続したPCはLinux上ではApache2の実行ユーザとして認識されないのでしょうか? Apache2の実行ユーザはhttpd.confのUser nobody Group nobodyとなっているところを任意のユーザに変更しました。 User apa01 Group apa01(ここではapa01とします)Linux内にも同名のユーザ・グループを追加します。 LinuxOSのユーザはapa01(上記)とlxuserの2人がいるとします。 該当ディレクトリのパーミッションは d rwxr-x--- apa01 apa01 該当ディレクトリ名 とします。 これによりapa01と認識されている?と思われるwebアプリケーションのクライアントPCからは該当ディレクトり内のファイルを取得できました。ここでパーミッションをd rwxr-x--- lxuser lxuserと変更します。すると思惑ではWebアプリケーションのクライアントからはファイルの一覧が取得できなくなるはずでしたがしっかり取得してしまいます。ひょっとして・・と思いApache2のhttpd.confのUser Groupを変更してもしっかり取得してしまいます。 なにか考えが根本的に違っているのでしょうか? 長々と書きましたがもっと違う方法があるようでしたら是非ともご教授願えませんでしょうか?よろしくお願いいたします。

  • ディレクトリのパーミッションについて

    ディレクトリのパーミッションについて易しく教えてください。 ディレクトリに移動するのになぜ実行アクセス権が必要なのでしょうか。仕組みがいまいち分かりません。 ファイルのパーミッションは分かるのですが、ディレクトリのパーミッションは少し分かりづらいです。 分かりやすく教えていただければうれしいです。 よろしくお願いいたします。

  • ディレクトリのパーミッションだけ一括変換するコマンドを教えてください。

    こんにちわ。 パーミションを変更するコマンドはchmodですが、あるディレクトリ下で、一般ファイルやサブディレクトリなどが入り混じっている場合に、一般ファイルのパーミションは変更せず、サブディレクトリ全て(さらにその階層のサブディレクトリすべて)を一発で755に変えるようなコマンドはありますでしょうか?つまりchmod -Rをディレクトリにだけ適用したいのですが。 逆に言えば、ディレクトリのパーミションは変更されず、一般ファイルだけパーミションを一斉に変更するという感じでも構わないのですが。 どなたかコマンドに詳しい方アドバイスの方よろしければお願いいたします。

  • linuxのオーナーとパーミッションについて

    linuxのオーナーとパーミッションについて 下記の3ユーザーがあるとします。 user1:groupA user2:groupA user3:groupB root:root 下記のファイルがあるとします。 dir_1/ | +-dir_11/ |_| |_+-file_111 | +-fil1_12 以下の要件を満たすオーナーとパーミッションは可能でしょうか <要件> ■dir_1  root以外は名前の変更、削除はできない。  この下にuser1、user2はファイルやディレクトリを作成、変更、削除できる。 ■dir_11  user1、user2はこのディレクトリを削除、変更可能  この下にuser1、user2はファイルやディレクトリを作成、変更、削除できる。  user3はこのディレクトリの下は読み込みしかできない。  user3はこのディレクトリの下にファイルやディレクトリを作れない。 ■file_111  user1、user2はこのファイルを変更、削除できる。  user3はこのファイルを読み込みしかできない。 ■fil1_12  user1、user2はこのファイルを変更、削除できる。  user3はこのファイルを読み込みしかできない。 <設定内容> ■dir_11,file_111,fil1_12 オーナー、user1:groupA 権限、rw-rw-r-- ■dir_1 オーナー、????:???? 権限、????????? dir_1の設定がわかりません。

  • linuxのディレクトリのパーミッションで以下のよ

    linuxのディレクトリのパーミッションで以下のようにしたいのですが ディレクトリ「dir1」があるとします。 作成者「usr1」はグループ「grp1」に属しています。 「dir1」は グループ内と管理者の人は誰でも参照できます。 管理者以外は名前変更、削除、移動はできません。 「dir1」の中には グループ内と管理者の人はファイルやディレクトリをフルコントロール(追加、削除、変更、名前変更、移動)できます。 「dir1」の中に作ったディレクトリは グループ内と管理者の人はファイルやディレクトリをフルコントロールできます。