rootじゃなくても(sudoを実行しなくても)ログを参照したいが、
特定のユーザに限定したい時は以下のようにする。
1.まず、ログを参照するユーザだけが所属するグループを作成
[root@cent6 ~]# groupadd logadmin
2.そのグループにユーザを追加
[root@cent6 ~]# usermod -a -G logadmin user1
3.ログのアクセス権を修正
[root@cent6 ~]# chmod g+r /var/log/maillog
[root@cent6 ~]# chgrp logadmin /var/log/maillog
これでlogadminグループに所属するuser1ユーザは、rootにならずとも/var/log/maillogが参照できるようになる。
なお、ログローテーションが実施された時に都度アクセス権を修正するのではなく、自動的に修正された状態にするには、/etc/logrotate.confの記述を以下のように修正する。
(修正前)
create
(修正後)
create 640 root logadmin
2012年7月29日日曜日
2012年7月22日日曜日
logrotate (ログのローテーション)
CentOS6(RHEL6)になって、ログローテーションまわりも変わっている事に気づいた。
今までローテーションされたファイルはsecure.1やsecure2のようになり、タイムスタンプを見ないと、いつローテーションされたのかすぐにわからなかったが、今度は日付がつくようになっている。
[root@cent6 ~]# ll /var/log/secure* /var/log/messages*
-rw-r----- 1 root logadmin 0 Jul 22 04:02 /var/log/messages
-rw-r----- 1 root logadmin 3246 Jul 8 04:02 /var/log/messages-20120708
-rw-r----- 1 root logadmin 38684 Jul 15 04:02 /var/log/messages-20120715
-rw-r----- 1 root logadmin 7275 Jul 22 04:02 /var/log/messages-20120722
-rw-r----- 1 root logadmin 687 Jul 22 16:15 /var/log/secure
-rw-r----- 1 root logadmin 10624 Jul 7 17:07 /var/log/secure-20120708
-rw-r----- 1 root logadmin 8140 Jul 15 00:47 /var/log/secure-20120715
-rw-r----- 1 root logadmin 6437 Jul 20 10:08 /var/log/secure-20120722
[root@cent6 ~]#
今までローテーションされたファイルはsecure.1やsecure2のようになり、タイムスタンプを見ないと、いつローテーションされたのかすぐにわからなかったが、今度は日付がつくようになっている。
[root@cent6 ~]# ll /var/log/secure* /var/log/messages*
-rw-r----- 1 root logadmin 0 Jul 22 04:02 /var/log/messages
-rw-r----- 1 root logadmin 3246 Jul 8 04:02 /var/log/messages-20120708
-rw-r----- 1 root logadmin 38684 Jul 15 04:02 /var/log/messages-20120715
-rw-r----- 1 root logadmin 7275 Jul 22 04:02 /var/log/messages-20120722
-rw-r----- 1 root logadmin 687 Jul 22 16:15 /var/log/secure
-rw-r----- 1 root logadmin 10624 Jul 7 17:07 /var/log/secure-20120708
-rw-r----- 1 root logadmin 8140 Jul 15 00:47 /var/log/secure-20120715
-rw-r----- 1 root logadmin 6437 Jul 20 10:08 /var/log/secure-20120722
[root@cent6 ~]#
で、/etc/logrotate.confを確認したところ”dateext”というパラメータが指定されているせいですね。
※CentOS5でも”man 8 logrotate”で確認しましたが、知らなかっただけで、ちゃんと存在していました・・・
2012年7月15日日曜日
CentOS6系で変更されたnss_ldapまわり
CentOS6(RHEL6)になって、libnss_ldap.soを含むnss_ldapパッケージがnss-pam-ldapdというパッケージに変更された。そのnss-pam-ldapdパッケージには、nslcdというデーモンが含まれるようになった。
→ 「# Description: Provides naming services using a directory server. 」とある
→ 設定ファイルは、/etc/nslcd.conf
変更されて良くなった点は、(個人的には)以下の通り。
・LDAPでユーザ管理をしている状態で、LDAPサーバが停止してしまった場合にローカルアカウントでもログインできなくなる症状が改善されている
→ 以前は、/etc/pam.d/system-authに"authinfo_unavail=ignore"を追加したり、
/etc/ldap.confに"bind_policy soft"を指定していた
→ 今度はLDAPサーバが停止していても、デフォルト設定で約10秒ほど待つと普通にログインできるようになった
(さらに、一度、LDAPサーバにはつなげないと判断すると、次回からは待ち時間なしで接続可)
→"bind_policy soft"のように動作させるには、"reconnect_retrytime 0"とすれば良い
→ 「# Description: Provides naming services using a directory server. 」とある
→ 設定ファイルは、/etc/nslcd.conf
変更されて良くなった点は、(個人的には)以下の通り。
・LDAPでユーザ管理をしている状態で、LDAPサーバが停止してしまった場合にローカルアカウントでもログインできなくなる症状が改善されている
→ 以前は、/etc/pam.d/system-authに"authinfo_unavail=ignore"を追加したり、
/etc/ldap.confに"bind_policy soft"を指定していた
→ 今度はLDAPサーバが停止していても、デフォルト設定で約10秒ほど待つと普通にログインできるようになった
(さらに、一度、LDAPサーバにはつなげないと判断すると、次回からは待ち時間なしで接続可)
→"bind_policy soft"のように動作させるには、"reconnect_retrytime 0"とすれば良い
登録:
投稿 (Atom)