SSHアクセスを公開しない共有ホストでDrupalまたはWordPressのインストールを保護する場合(お粗末な状況、fwiw)、lftpはディレクトリとファイルのアクセス許可をバッチ設定するための正しいアプローチのようです。findコマンドは、出力をリダイレクトできることを誇っています。そのため、検索を実行し、ディレクトリを意味する「/」で終わる行のみに一致するようにgrep Exclusiveを実行し、そのような一致のアクセス許可を755に設定して、逆を実行できる必要があります。ファイルが一致し、644に設定してから、settings.phpなどの特定のファイルを微調整します。
lftp prompt> find . | grep "/$" | xargs chmod -v 755
動作しておらず、これらのコマンドを正しい順序と形式でチェーンできなかったと確信しています。
これを機能させる方法は?
更新:「機能していません」とは、上記のコマンドがコンソールにもlftpエラーログにも出力を生成しないことを意味します。これらのコマンドをローカルで実行していません、fwiw。デモとしてコマンドを減らします。
find . | grep "/$"
「find」の出力を取得し、文字列の一致の性質上、ここではディレクトリに一致するものを返します。
./daily/
./ffmpeg-installer/
./hourly/
./includes/
./includes/database/
./includes/database/mysql/
./and_so_forth_on_down
chmod(および、ftpサーバーによってサポートが異なるlftpの内部コマンド)を実行したいので、これはすばらしいことです。したがって、次のようにコマンドを展開します。
find . | grep "/$" | xargs echo
どの出力—何もありません。エラー出力もありません。grepからxargsへのパイプは発生していません。
私の目標は、以下に相当するものを形成することです。
chmod 755 ./daily/
chmod 755 ./ffmpeg-installer/
lftpでは、chmodコマンドはローカルのpermsの変更ではなく、ftp-server-permissionsの変更を実行しています。