前天境遇三个很意外的工作,有1台服务器在动用su

root命令切换来root账号时,老是报密码不科学。但是root密码完全是毋庸置疑的,而且能够采用账号密码直接ssh登入服务器。极度嫌疑,如下所示:

 

 

[oracle@DB-Server ~]$ more /etc/redhat-release 

Red Hat Enterprise Linux Server release 5.7 (Tikanga)

[oracle@DB-Server ~]$ su - root

Password: 

su: incorrect password

[oracle@DB-Server ~]$ 

 

 

澳门金沙国际 1

 

 

前面谷歌搜索了部分资料,然后测试、验证后才弄了然了切实原因。在Linux中为了更进一步增进系统的安全性,很有必不可缺构建了2个总指挥的组,只同意那一个组的用户来实践“su
-”命令登6为root用户,而让任何组的用户正是实行“su
-”、输入了不错的root密码,也无从登6为root用户。在UNIX和Linux下,这么些组的名称通常为“wheel”。而以此是在陈设文件/etc/pam.d/su里面配备的。如下截图所示:

 

“auth  
required    
pam_wheel.so use_uid”   
表示禁止非wheel组用户切换成root。所以就涌出了上边在oracle用户下切换root用户报密码错误的景况

 

 

[root@DB-Server ~]# groups oracle

oracle : oinstall dba

[root@DB-Server ~]# cat /etc/pam.d/su

 

 

 

澳门金沙国际 2

 

 

 

Wheel组概念 

 

Wheel组是Unix系统1个遗留物。当服务器须要做比常常例行维护越来越尖端的干活的时候,就隔3差伍必要用到root权限了。而那一个wheel组正是树立用来综合一些优秀的系列用户用的,那个中的用户都或多或少地享有root的1对功用和权限。也正是说假若你不是wheel组成员,这就从未root身上任何的特权。也因为这么,使用wheel组成员用户来讲,会尽量裁减对系统“摧毁性”破坏的可能率和高风险。近期许多的Linux发行版本中,照旧保留了wheel这几个组,固然它曾经不像当年规划出来的那么供给了,但是有个别老游戏发烧友依旧忠于那种旧式卓越风格的,所以他们时常仍旧如故让wheel组发挥着过去的功能。他们是那般做的:在确立他们和煦的用户时,将其添参预wheel组中(用wheel组作为用户的主组),或然采纳vigr来编辑/etc/group文件,将他们的用户名扩张到wheel组那行的最后。

 

 

为啥要求wheel组?

 

一般说来在UNIX下,即便大家是系统的管理人,也不推荐用
root 用户登陆来进展系统管理。一般景色下用普通用户登6,在急需 root
权限实行一些操作时,再 su 登3/5为 root 用户。不过,任哪个人一旦驾驭了
root 的密码,就都得以经过 su 命令来报到为 root 用户——那毋庸置疑为系统带来了安全隐患。所以,将普通用户参与到
wheel
组,被投入的那么些普通用户就成了组织者组内的用户,但假如不对一些相关的配置文件举办配备,这么些助理馆员组内的用户与普通用户也没怎么差异——就好像警察下班后,未有带枪、穿那便衣和老百姓(用户)同样,就算他的的确确是警察。那些对于系统安全确实很有帮衬。

 

1:查看wheel组

 

[root@DB-Server
~]# cat /etc/group | grep wheel

wheel:x:10:root

[root@DB-Server
~]# groups oracle 
–查看有些用户的用户组

oracle
: oinstall dba

 

2:检查日志开采这多少个做了su切换的日记新闻。

 

[root@DB-Server
~]#Linux下Wheel用户组介绍。  grep su
/var/log/secure | grep -v sudo

Jun
20 11:32:46 DB-Server su: pam_unix(su-l:session): session opened for
user oracle by root(uid=0)

Jun
20 11:32:53 DB-Server su: pam_unix(su-l:auth): authentication failure;
logname=root uid=500 euid=0 tty=pts/2 ruser=oracle rhost=  user=root

Jun
20 11:33:07 DB-Server su: pam_unix(su-l:auth): authentication failure;
logname=root uid=500 euid=0 tty=pts/2 ruser=oracle rhost=  user=root

Jun
20 11:33:20 DB-Server su: pam_unix(su-l:session): session closed for
user oracle

[root@DB-Server
~]#

 

消除方法也很简短,要么将相应的账号进入wheel组,要么注释掉配置文件/etc/pam.d/su中的”auth  
required    
pam_wheel.so use_uid” 那1行记录。

 

 

参考资料:

 

 

 

Linux下Wheel用户组介绍,linuxwheel用户组

前日遇见一个很想获得的事务,有一台服务器在动用su –
root命令切换来root账号时,老是报密码不准确。但是root密码完全是不易的,而且能够采纳账号密码直接ssh登6服务器。非凡纳闷,如下所示:

 

 

[[email protected] ~]$ more /etc/redhat-release 

Red Hat Enterprise Linux Server release 5.7 (Tikanga)

[[email protected] ~]$ su - root

Password: 

su: incorrect password

[[email protected] ~]$ 

 

 

 

 

前面谷歌寻找了一部分素材,然后测试、验证后才弄了解了实际原因。在Linux中为了更进一步升高系统的安全性,很有需求营造了1个大班的组,只同意那么些组的用户来实行“su
-”命令登六为root用户,而让此外组的用户正是试行“su
-”、输入了天经地义的root密码,也无法登6为root用户。在UNIX和Linux下,这么些组的名目平日为“wheel”。而以此是在配置文件/etc/pam.d/su里面配备的。如下截图所示:

 

“auth   required     pam_wheel.so use_uid”   
表示禁止非wheel组用户切换成root。所以就应际而生了地点在oracle用户下切换root用户报密码错误的气象

 

 

[[email protected] ~]# groups oracle

oracle : oinstall dba

[[email protected] ~]# cat /etc/pam.d/su

 

 

 

 

 

 

Wheel组概念 

 

Wheel组是Unix系统贰个遗留物。当服务器要求做比一般例行维护更加高档的做事的时候,就不时供给用到root权限了。而以此wheel组正是确立用来总结一些特别的连串用户用的,这之中的用户都或多或少地有着root的某个机能和权杖。也正是说倘若您不是wheel组成员,那就从未有过root身上任何的特权。也因为如此,使用wheel组成员用户来讲,会尽量收缩对系统“摧毁性”破坏的票房价值微危机。近年来半数以上的Linux发行版本中,照旧保留了wheel这么些组,纵然它早已不像当年陈设出来的那么要求了,不过多少老游戏者如故忠于这种旧式优良风格的,所以她们常常仍旧依旧让wheel组发挥着昔日的功能。他们是如此做的:在创立他们友善的用户时,将其添参与wheel组中(用wheel组作为用户的主组),恐怕使用vigr来编辑/etc/group文件,将她们的用户名扩充到wheel组那行的末梢。

 

 

怎么须要wheel组?

 

平时在UNIX下,固然我们是系统的总指挥,也不引入用 root
用户登入来张开系统处理。一般情形下用普通用户登入,在需求 root
权限试行一些操作时,再 su 登入成为 root 用户。可是,任何人只要知道了
root 的密码,就都足以经过 su 命令来报到为 root
用户——这如实为系统带来了安全隐患。所以,将普通用户参加到 wheel
组,被投入的那么些普通用户就成了组织者组内的用户,但要是不对有个别相关的配备文件举办布署,这几个管理员组内的用户与普通用户也没怎么分别——就像是巡警下班后,没有带枪、穿那便衣和平常人(用户)同样,尽管她的的确确是警察。那些对于系统安全确实很有救助。

 

1:查看wheel组

 

[[email protected]
~]# cat /etc/group | grep wheel

wheel:x:10:root

[[email protected]
~]# groups oracle  –查看某些用户的用户组

oracle : oinstall dba

 

2:检查日志发掘那多少个做了su切换的日记新闻。

 

[[email protected]
~]#  grep su /var/log/secure | grep -v sudo

Jun 20 11:32:46 DB-Server su: pam_unix(su-l:session): session opened
for user oracle by root(uid=0)

Jun 20 11:32:53 DB-Server su: pam_unix(su-l:auth): authentication
failure; logname=root uid=500 euid=0 tty=pts/2 ruser=oracle rhost= 
user=root

Jun 20 11:33:07 DB-Server su: pam_unix(su-l:auth): authentication
failure; logname=root uid=500 euid=0 tty=pts/2 ruser=oracle rhost= 
user=root

Jun 20 11:33:20 DB-Server su: pam_unix(su-l:session): session closed
for user oracle

[[email protected]
~]#

 

消除格局也很简短,要么将相应的账号进入wheel组,要么注释掉配置文件/etc/pam.d/su中的”auth  
required     pam_wheel.so use_uid” 那1行记录。

 

 

参考资料:

 

 

 

前些天超过叁个很想获得的事务,有1台服务器在运用su –
root命令切换成root账号时,老是报密码不科学。…

 

  那篇作品较详细

张开/etc/pam.d/目录下的其余1个安顿文件,在那之中每行的证实规则都利用如下所示的语法格式:
    Type  Control-flag  Module-path  Module-arguments
   
当中每行代表一个独门的印证形式,每一个配置文件能够由多样证实规则相互叠加而成。验证时PAM-API会根据从上往下的方法挨个读取那些验证规则,并基于当中的决定标记做出相应的动作。

required    有些退步,继续往下,直到全数完结后。
requisite    有个别失利,全数截止
sufficient    有个别成功,全体甘休

   
验证服务模块-用于授予用户访问帐户或劳务的权杖。提供此服务的模块能够证实用户并设置用户凭证。

   
帐户管理模块-用于分明当前用户的帐户是不是行得通。提供此服务的模块能够检查口令或帐户的失效期以及限制时间访问。

    会话管理模块-用于设置和停歇登入会话。

    口令管理模块-用于强制执行口令强度规则并施行验证令牌更新。

[root@84-monitor pam.d]# cat sshd
#%PAM-1.0
auth       required     pam_sepermit.so
auth       include      password-auth
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be
executed in the user context
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth

[root@84-monitor pam.d]# cat password-auth-ac
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3
type=
password    sufficient    pam_unix.so sha512 shadow nullok
try_first_pass use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in
crond quiet use_uid
session     required      pam_unix.so

[root@84-monitor pam.d]# cat login
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad]
pam_securetty.so
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
# pam_澳门金沙国际,selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
session    optional     pam_console.so
# pam_selinux.so open should only be followed by sessions to be
executed in the user context
session    required     pam_selinux.so open
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      system-auth
-session   optional     pam_ck_connector.so

减号的意思是只要因为系统里未有那么些模块而不能够载入的话,pam库将不记录日志。

 

 

linux-PAM (Pluggable Authentication Modules for
linux)是1个共享库套件,它能使本地系统管理员选择应用程序怎么样验证用户,

广阔的应用程序有login,sshd,su,sudo,passwd

 

login的pam日志,操作为在当地调整台登陆输入用户名与密码
Dec  9 11:34:31 localhost login: pam_unix(login:session): session
opened for user root by LOGIN(uid=0)
Dec  9 11:34:31 localhost login: ROOT LOGIN ON tty1
Dec  9 11:42:06 localhost login: pam_unix(login:session): session
closed for user root

sshd的pam日志,操作为ssh连接三个服务器并输入用户名与密码,查看日志,然后退出
Dec  9 11:38:52 localhost sshd[30208]: Accepted password for root from
192.168.1.88 port 50718 ssh2
Dec  9 11:38:52 localhost sshd[30208]: pam_unix(sshd:session):
session opened for user root by (uid=0)
Dec  9 11:40:13 localhost sshd[30208]: pam_unix(sshd:session):
session closed for user root
 
su的pam日志,操作为用普通用户登入,然后su -输入root密码,然后退出
Dec  9 11:46:02 localhost su: pam_unix(su-l:session): session opened
for user root by a1(uid=500)
Dec  9 11:47:27 localhost su: pam_unix(su-l:session): session closed
for user root

sudo的pam日志,第二条是输入普通用户密码错误,第3条是此普通用户不在sudoers
file里
Dec  9 11:58:47 localhost sudo: pam_unix(sudo:auth): authentication
failure; logname=a1 uid=500 euid=0 tty=/dev/pts/0 ruser=a1 rhost= 
user=a1
Dec  9 11:59:00 localhost sudo:       a1 : user NOT in sudoers ;
TTY=pts/0 ; PWD=/home/a1 ; USER=root ; COMMAND=/bin/df -h
Dec  9 14:16:25 localhost sudo:       a1 : TTY=pts/0 ; PWD=/home/a1 ;
USER=root ; COMMAND=/sbin/fdisk -l
Dec  9 14:17:03 localhost sudo:       a1 : user NOT in sudoers ;
TTY=pts/0 ; PWD=/home/a1 ; USER=root ; COMMAND=/sbin/fdisk -l
修改下边,将a一前的#号去掉,即时生效,然后实践sudo时会马到功成。
[root@localhost pam.d]# visudo
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
#a1 ALL=/bin/df -h,/sbin/fdisk

passwd的pam日志,操作为普通用户登入,然后passwd改本人的密码,第一条日志是眼下密码输入错误,第一条是因为太复杂密码不包容,最终一条是安装成功
Dec  9 11:50:22 localhost passwd: pam_unix(passwd:chauthtok):
authentication failure; logname=a1 uid=500 euid=0 tty=pts/0 ruser=
rhost=  user=a1
Dec  9 11:55:44 localhost passwd: pam_cracklib(passwd:chauthtok):
pam_get_authtok_verify returned error: Failed preliminary check by
password service
Dec  9 11:57:30 localhost passwd: pam_unix(passwd:chauthtok): password
changed for a1

相关文章