毎週他のユーザーが所有する空のディレクトリ

毎週他のユーザーが所有する空のディレクトリ

私は、HTTP経由で他のユーザーに送信するために必要なファイルを保存できる一時ディレクトリを設定しました。ディレクトリはSFTPユーザーが所有し、クローンジョブを実行することはできません。

cronジョブを実行できるシェルユーザーがありますが、SFTPユーザーディレクトリのファイルを編集する権限がありません。

sudoを使用すると、SFTPユーザーディレクトリにアクセスできますが、cronジョブを実行できない(読み取り:本当に望ましくない)管理ユーザーがいます。

だからここに謎があります。管理者としてSFTPユーザーディレクトリから1週間のファイルを削除するためにシェルユーザーとして夜間cronジョブを実行するにはどうすればよいですか?

ベストアンサー1

ファイルを編集して/etc/sudoers(!を使用visudo)、シェルユーザーにパスワードを入力せずに特定のコマンドを実行するのに十分な権限を許可するエントリを追加します。スクリプトを使用している場合は、ルート以外の誰もスクリプトを編集できないようにしてください。

でシェルのユーザー名は/etc/sudoersどこですか?shelluser

shelluser ALL=NOPASSWD: /usr/bin/clean-up-sftp-temp-directory

/usr/bin/clean-up-sftp-temp-directoryスクリプトから以下を追加できます。

#!/bin/sh
rm -f /home/sftpuser/will-be-deleted/*

スクリプトを実行可能にしたら、sudo clean-up-sftp-temp-directoryそれを呼び出してシェルユーザーのcrontabに追加できる必要があります。

おすすめ記事