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

Linux で root 以外のユーザーが crontab エントリを作成するのをブロックする方法

ここでの要件は、root 以外のユーザーが crontab エントリを編集することを許可してはならないということです。この投稿では、そのための手順について説明しています。これを実現するには 3 つの方法があります:

1. 非 root ユーザーのシステムへの ssh を無効にします。これにより、非 root ユーザーのシェル ログイン自体が無効になります。

2. ユーザー名をファイル /etc/cron.deny に追加します 、行ごとに各ユーザー (ファイルにリストされているユーザーのみに影響する典型的な方法)。

# cat /etc/cron.deny 
oracle

その他の簡単な回避策は、/etc/cron.deny ファイルを空にして、root ユーザー名のみをファイル /etc/cron.allow に追加することです。 .これにより、root ユーザーのみが cron エントリを変更/追加できるようになります。

注意 :ファイル /etc/cron.allow と /etc/cron.deny の間に競合がないことを確認してください。 crontab が cron.UNIX / Linux へのユーザー アクセスを検証する方法の詳細については、以下の投稿を参照してください。 crontab が cron.allow および cron.deny ファイルに基づいてアクセスを検証する方法

crontab エントリを作成して、拒否されたユーザーを確認します。以下に示すようなエラーが表示されるはずです。

# crontab -e
You (oracle) are not allowed to use this program (crontab)
See crontab(1) for more information

3. もう 1 つの積極的なアプローチは、crontab コマンドの実行権限を削除することです。これは、cron エントリを変更/追加するすべての非 root ユーザー機能に影響を与えます。
ファイル /usr/bin/crontab のデフォルトのアクセス許可:

# ls -lrt /usr/bin/crontab 
-rwsr-xr-x 1 root root 51784 Jul 22  2016 /usr/bin/crontab

実行権限を削除した後:

# chmod 700 /usr/bin/crontab
# ls -lrt /usr/bin/crontab 
-rwx----- 1 root root 51784 Jul 22  2016 /usr/bin/crontab
注:ファイル許可を変更する前に、ファイル /usr/bin/crontab のバックアップがあることを確認してください。また、パッケージのアップグレードまたは再インストール後、この変更はデフォルトに戻されることに注意してください。

変更する前に、/usr/bin/crontab ファイルのデフォルトの権限に注意してください:

# stat /usr/bin/crontab
  File: `/usr/bin/crontab'
  Size: 51784     	Blocks: 104        IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 1318020     Links: 1
Access: (4755/-rwsr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-09-13 09:39:27.192418684 +0530
Modify: 2016-07-22 12:50:39.000000000 +0530
Change: 2017-09-08 18:11:33.668586770 +0530

crontab エントリを作成して、拒否されたユーザーを確認します:

# crontab -e
bash: /usr/bin/crontab: Permission denied


Linux
  1. root 以外のユーザーが crontab エントリを作成できないようにする方法

  2. Linux で UID 0 の非ルート ユーザーを削除する方法

  3. Linux で関数ブロックからファイルに出力をリダイレクトする

  1. Linux – SshからTtyにユーザーをログインさせる方法は?

  2. Linuxでグループからユーザーを削除する方法[クイックヒント]

  3. Linuxでテキストファイルから特定の行を表示するには?

  1. root 以外の特定のユーザーのみに crontab の使用を許可する方法

  2. Linuxでテキストファイルからバイナリを見分ける方法

  3. ターミナルウィンドウからLinuxでファイルを作成するには?