用户su权限被拒绝
解决方法一:
查看/usr/bin/su目录有没有s位权限
[root@ecgis ~]# ll /usr/bin/su
-rwsr-xr-x. 1 root root 32184 Apr 11 2018 /usr/bin/su
以上权限为正常权限,如果权限不对请执行,并关注该文件的属主属组
chmod 4755 /usr/bin/su
解决方法二:
查看root密码是否正确
解决方法三:
检查/etc目录下passwd的权限,other用户要有可读权限
[root@smglxt- ~]# ll /etc/passwd
-rw-r--r-- 1 root root 1826 Feb 27 16:27 /etc/passwd
解决方法四:
检查/etc/login.defs是否存在SU_WHEEL_ONLY yes 如果有注释掉
解决方法五:
检查/etc/pam.d/su文件,一般默认即可,需要su权限的用户必须在wheel组,可以看下/etc/group文件
检查此文件有没有添加别的配置信息
编辑/etc/pam.d/su文件,注释含有pam_wheel.so内容的行。
如果未解决,检查/var/log/secure登录日志报错信息
解决方法六:
root用户su某个用户su不过去,出现如下报错
su: failed to execute /bin/bash: Resource temporarily unavailable
解决方法七:
root可以切其他用户,无法切换某一个用户
pam_limits(su-l:session): Could not set limit for 'nofile': Operation not permitted
通过/var/log/secure或/var/log/messages日志排查发现如下报错:
tgypt-xx12d002-zbhx190w su[3665840]: pam_limits(su-l:session): Could not set limit for 'nofile': Operation not permitted
解决办法:
查看查看系统打开句柄最大数量
more /proc/sys/fs/file-max
655350
修改该用户的limits值为系统支持的值
vi /etc/security/limits.conf
解决方法八:
同样的sysctl参数和limits参数,麒麟生效可以su 用户,统信无法su用户
hadoop soft nofile 6553500
hadoop hard nofile 6553500
麒麟、统信系统systemd版本问题导致
systemctl --version
systemd限制了全局最大的文件句柄数是1024*1024 = 1048576,systemd在239版本最大是这个数。在systemd 240版本往后,统一调整为了1073741816,刚好麒麟也是243版本。
目前想调整成6553500,需要改内核参数,echo "fs.nr_open=1073741816" >> /etc/sysctl.conf 来生效。