• 締切済み

SFTP/FTPで受信するファイルのパーミッションについて

Radhat Linux7.1 でFTP/SFTPでファイルを受信時のファイルパーミッションを設定したく、umaskを.bash_profileに設定したのですが駄目でした。どのようにすれば良いのでしょうか。 御存知の方御教示下さい。

みんなの回答

  • ojin
  • ベストアンサー率43% (280/638)
回答No.3

recursive:回帰的、再帰的とかの意味です。 一つのことが終われば、また戻ってくる。ぐるぐると処理をするといいうことで、コンピュータの世界では、よく使用される言葉だと思いますよ。

okwebenomoto
質問者

補足

有難う御座います。 以下のコマンドで試しました。 chmod -R --recursive 777 *.xml しかし bash: /bin/chmod: Argument list too long のエラーが出ました。 1つ上のディレクトリ配下で chmod -R --recursive 777 該当ディレクトリ名 とやったらうまくいきました。 ワイルドカードを使用するとやはり駄目なようです。 とりあえずディレクトリ配下の全てのファイルのバーミッションを変更しようと思います。

  • ojin
  • ベストアンサー率43% (280/638)
回答No.2

うむ、10,000ものファイルのパーミッションを変えたい。本当に全部一斉に変えてもいいのですか? # chmod -R --recursive XXX *.* ファイルを再帰的に変更します。ワイルドカードも使用可能なはずです。 XXXは、パーミッションの8進の値です。 まず、数個で試してから、自己責任で残りを変更してください。

okwebenomoto
質問者

補足

有難う御座います。 chmod -R --recursive XXX *.* とありますが、--recursiveとは何でしょうか 申し訳有りませんが教えて頂けませんか。

  • ojin
  • ベストアンサー率43% (280/638)
回答No.1

Secure ftpでは確認していませんが、 .bash_profile に、umask 011(ディフォルトは、umask 022です。) をセットして、ファイルをgetすると、以下のようになります。 元ファイル:-rw-r--r-- (umask 022でput) getしたファイル:-rw-rw-rw- (umask 011でget) ご存知とは思いますが、おさらいです。 ディレクトリの場合は、777-022=755 (8進数の引き算) ファイルの場合は、666-022=644(8進数の引き算) なを、umaskを設定したあとは、ログインをしなおすか、source /~.bash_profileで、システムに反映されます。

okwebenomoto
質問者

お礼

有難う御座います。 getはOkですが。 相手からputされ場合が駄目です。 相手側からsftpでファイルをputしchmodでパーミッションを変更できる事は分ったのですが、これだと相手任せになってしまいます。 また、自分でchmodでパーミッションを変更する場合にファイル数が10000位ある為、ワイルドカードを使用してchmodよりパーミッションを変更しようとするとchmodがエラーとなってしまいます。 何か方法は無いものでしょうか。

関連するQ&A

  • FTP後のファイルパーミッションにライト権をつけたいのですが、

    他のサーバからFTP(put)した後のファイルのパーミッションはどのように決まるのでしょうか? 送り元のファイルのパーミッションは無視されてしまいます。 umaskをFTPのIDの.profileや.cshrcなどに記述しても上手くいきませんでした。 グループにライト権をつけたいと思っています。 どなたかご存知の方がいらっしゃたら具体的によろしくお願いします。 OSはSolaris10です。

  • ファイルのデフォルトパーミッション設定が出来ません

    Red Hat Linux 8.0を使っているLinux入門者です。 デフォルトパーミッションを、 所有者以外の読み書きが出来ない様にしたいのですが、 umaskの設定がうまくいかずに困っております(T.T) ~/.bash_profile に「umask 066」と 下記サイトに出ている通りに追記したのですが、 ( http://www.atmarkit.co.jp/flinux/rensai/security02/security02c.html ) X(GNOME)のターミナル上で設定が全く反映されないのです。 テキストモードや仮想コンソールでは 確かに設定が適用になっているのですが.....。 あと、suを実行後に確認すると何故かちゃんとなっています。 /etc/profile の方もいじってみましたが駄目でした。 ちょっと分かり辛いかもしれませんが、大体下記の様な状況です。 ~/.bash_profileを編集後、rootでログイン  × Xのターミナルでumaskコマンドで設定を確認  ○ umask 066とコマンドラインから実行、確認  × su を実行して確認  ○ su - を実行して確認  × シェルスクリプトにumask 066と書いて実行、確認  ○ Ctrl+Alt+F1で仮想コンソールに切り替え、確認  ○ テキストログイン後、umaskコマンドで確認 その他のユーザーでログイン  ○ su - ユーザー名 を実行して確認    その他はrootと同じ ○=設定が反映されている ×=変化無し  という感じで全くのお手上げ状態なのです。 何か考えられる原因はありますでしょうか? 何分、Linux初心者で基本的な事が抜けているのかもしれません。 お気づきの点がございましたら、 どんな事でも結構ですのでご指摘頂ければと思います。 情報が足りない部分があれば補足致します。 どうか宜しくお願いします。

  • Linuxにおけるパーミッションに関して

    Linux(Redhat)に関して質問します。 /etc/passwdファイルの第7フィールド(ログインシェル指定の箇所)にて /sbin/nologin指定をしているアカウントに関して、このアカウントで作成 されるディレクトリもしくはファイルのデフォルトでのパーミッションは、 どのようになりますでしょうか? 例えば、第7フィールドに/bin/bashの指定があり、/etc/bashrcにumask の値を設定していれば、ログイン時に/etc/bashrcが読み込まれumask の値によってパーミッションが決定されると思いますが、/sbin/nologin 指定をしているアカウントに関しては、umaskの値が有効になるのか どうか質問している次第です。

  • SFTP/SCPが参照するファイル

    Vine Linux3.xでSSHサービスを稼動させ、他のクライアントからSFTPでアクセスする際についての疑問です。 FTPならば、proftpd.confに設定を記述しますが、SFTPの場合に参照するファイルはあるのでしょうか?接続の際には、sshd_configの設定に従うとは思うのですが・・・。

  • FileZilla 以外のSFTP対応FTPクライアント知ってますか?

    現在、FileZillaを使用していますが、ファイルをアップロードする際にファイルのパーミッションを拡張子に応じて自動で変更する機能がついていません(FileZillaにこの機能がついていれば、使い方を教えて下さい。)。 そこで、FileZilla以外のSFTP対応FTPクライアントで、ファイルをアップロードする際にファイルのパーミッションを拡張子に応じて自動で変更する機能がついているものを何かご存知の方いますか? 使い勝手が良いものがいいです。もちろん日本語(UTF8、shift-jisを含む)対応しててください。

  • local_umaskの設定

    FTPで新規にアップロードしたファイルのパーミッションが 777に設定されるようにしたいと思っています。 そこで、/etc/vsftpd/vsftpd.conf で local_umask=000 と設定し、 vsftpdを再起動してFTPアップロードしてみたところ、 パーミッションは 666 になってしまいました。 また他の値でも試してみたところ、 以下のような結果になりました。 local_umask=002 → 664 local_umask=022 → 644 local_umask=222 → 440 これは他に何か設定が必要ということなのでしょうか。 どなたかご教示ください。 よろしくお願いします。

  • FileZilla 以外のSFTP対応FTPクライアント知ってますか?

    回答がなかなか得られなかったので http://oshiete1.goo.ne.jp/qa3703957.html から移動してきました。 マルチスレッドにならないように、元のスレッドは終了します。 現在、FileZillaを使用していますが、ファイルをアップロードする際にファイルのパーミッションを拡張子に応じて自動で変更する機能がついていません(FileZillaにこの機能がついていれば、使い方を教えて下さい。)。 そこで、FileZilla以外のSFTP対応FTPクライアントで、ファイルをアップロードする際にファイルのパーミッションを拡張子に応じて自動で変更する機能がついているものを何かご存知の方いますか? 使い勝手が良いものがいいです。もちろん日本語(UTF8、shift-jisを含む)対応しててください。 EmFTPというソフトを教えていただきましたが、SFTPでファイルをアップロードする際にファイルのパーミッションを拡張子に応じて自動で変更する機能は付属しているのでしょうか? また、EmFTPは日本語(UTF8、shift-jisを含む)対応ですか?

    • ベストアンサー
    • PHP
  • FTPソフト・パーミッションの保存

    FTPソフトを探しております。 サイトデータをFTPソフトでローカルにバックアップしたいのですが、サーバ上のファイルをダウンロードする際、そのファイルのパーミッション設定も含んでダウンロードしてくれるようなソフトはありませんでしょうか。 サーバがディスククラッシュ等で壊れ、まっさらなサーバに乗り換えを余儀なくされる際、ファイルを改めてアップした後の各ファイルのパーミッション設定の手間を省きたいのです。 また欲を言えば、ファイルの所有者情報をダウンロード時に保存し、アップロード時に自動的にFTPアカウントを切り替えて接続・・・、ってちょっと欲深過ぎますね・・・苦笑

  • linuxサーバーにftpで送信したファイルのデフォルトパーミッションについて

    linuxにftpで送信したファイルのデフォルトパーミッションはサーバー側(ftpサーバー等)でコントロールできるのでしょうか? それともftpツール(ffftpやie)で個別にしかコントロールできないのでしょうか?

  • さくらVPSの一般ユーザーにようるSFTP

    さくらVPSを利用しています(CentOS 5.7)。 SFTPでファイルをアップロードする段階で先に進めないでいます。 rootのSSHのログインを禁止し一般ユーザーで秘密鍵を使いログインしています。 一般ユーザーexsampleを作成しました。一般ユーザーexsampleはmkdir,rmなどはできません(Permission deniedが発生します)。 調べるとsudoを使うと良いとあるので設定を行いました。 ■グループwheelを設定 id exsampleは下記のようになりました。 uid=500(exsample) gid=500(exsample) groups=500(exsample),10(exsample) ■visudoでグループwheelにsudoを設定 #%wheel ALL=(ALL) ALL → %wheel ALL=(ALL) ALL ■exsampleユーザーにパスを設定 exsampleユーザーの.bash_profileにパスを通しました。 これでsudo mkdir, sudo rmコマンドを実行できるようになりました。 sshでログインしてコマンド操作をするさいはsudoを使うので良いのですが 一般ユーザーexsampleでFTPクライアントからSFTPでファイルを転送するときにエラーが発生します。 SFTPでサーバーへの接続は正常にできています。サーバー上にディレクトリやファイルを作成するさいPermission deniedが発生します。 エラーの発生は当然だと思うのですがいろいろ調べるとrootでのログインは禁止するのが良いと有ります。 パスワード認証も止めて秘密鍵で認証がよいともありそのようにしています。 SFTPを一般ユーザーで利用してファイルを転送することは可能でしょうか(FTPクライアントはFileZillaを使っています)。可能でしたら方法をお教えください。 ユーザーrootで行うしか無いのでしょうか。 ご回答よろしくお願い致します。