GNU/Linux >> Linux の 問題 >  >> Linux

ユーザーが crontab を編集できない、エラー:「/tmp/crontab.Lm34gsJV:権限が拒否されました」

問題

権限のないユーザーは、コマンド「crontab -e」を使用して自分の crontab ファイルを編集できません

$ crontab -e
no crontab for oracle - using an empty one
/tmp/crontab.Lm34gsJV: Permission denied
$

解決策

これは主に、/tmp ディレクトリの権限が間違っているために発生する可能性があります。ユーザーが「crontab -e」コマンドを使用して crontab を編集しようとすると、一時的な crontab ファイルが /tmp ディレクトリに作成され、ユーザーが変更を保存すると、実際の crontab ファイルに上書きされます。 / に対するグループ所有者 (ルート) の権限が正しくない場合も、このエラーが発生する可能性があります。この問題を解決するには、サーバーで以下の 2 つのことを確認してください。

/tmp のパーミッションを確認してください

1. /tmp ディレクトリの権限が「drwxrwxrwt.」であることを確認します。 」

# ls -ld /tmp/
drwxr-xr-x. 13 root root 4096 May 14 10:48 /tmp/

上記の出力からわかるように、これらは不適切な権限です。

2. 次のように正しい権限を復元します:

# chmod 1777 /tmp

ディレクトリは、すべての読み取り、書き込み、および実行権限を許可する必要があります。ファイルの所有者だけがファイルを削除できるように、「スティッキー」ビットも設定されます。そうしないと、ユーザーがディレクトリ内の任意のファイルを削除する可能性があります。

3. /tmp/ に新しいファイルを作成して確認してください:

# touch /tmp/test_file

SELinux パーミッションを確認する

1. システムで SELinux が有効になっているかどうかを確認することもできます。場合によっては、SELinux が正しく設定されていないと、問題が発生する可能性があります。 SELinux が有効になっているかどうかを確認するには:

# getenforce
Enforcing

2. SELinux を一時的に無効にして、問題が解決するかどうかを確認します。

# setenforce 0

3. ユーザー crontab を編集して設定を確認します。

# crontab -e

4. 正常に動作する場合は、SELinux を再度有効にして、「restorecon」を使用することをお勧めします。 」を使用して、/tmp ディレクトリの正しい権限を復元してください。

# setenforce 1
# restorecon -v /tmp


Linux
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. CentOS / RHEL 7 で systemd-tmpfiles が /tmp/ または /var/tmp (tmpwatch の置き換え) をクリーンアップする方法

  3. UNIX / Linux :/tmp および /var/tmp ディレクトリの正しい権限は何ですか

  1. crontab エラー :「pam 構成のため、(ユーザー) は (crontab) へのアクセスが許可されていません。」

  2. ユーザーが ftp 経由で vsftpd サーバーにログインすると、エラー「530:許可が拒否されました」

  3. スクリプトを使用して crontab を作成する方法

  1. (解決済み)メールボックス/ var / mail / userを開くことができません:Linuxでアクセスが拒否されましたエラー

  2. /usr/local/bin/ で composer の許可が拒否されました

  3. /tmp と /var/tmp の違いと正しい使い方