Loading
0

Docker容器执行su命令报错su: cannot open session: Permission denied 解决方法

技术小学生微信公众号
腾讯云服务器大促销。
华为服务器

前言:受到用户反馈Docker容器中执行命令 su -xxx切换用户后报错提示:su:can not open session:Permission denied  字面意思是没有权限打开回话,通过查找资料解决了这个问题。
解决方法:
1、先检查su命令权限是否正确,执行如下命令

ll /etc/pam.d/su

如果现实如图,则说明权限方面没问题,若您的执行结果与我的不一样,需调整权限。

[root@blog-tag-gg ~]# ll /etc/pam.d/su
-rw-r--r-- 1 root root 540 2月   3 2021 /etc/pam.d/su

2、执行如下命令将 /etc/pam.d/su中的“session        include      system-auth”这一行即可,如下。
将su文件复制备份

cp /etc/pam.d/su /etc/pam.d/su_bak

vi编辑  /etc/pam.d/su 文件将如图所示注释(前面加#表示注释)

#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth           required        pam_wheel.so use_uid
auth            substack        system-auth
auth            include         postlogin
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
#session         include         system-auth
session         include         postlogin
session         optional        pam_xauth.so

注释后在登录即可正常切换。
技术小学生微信公众号
华为服务器
腾讯云服务器大促销。

声明:站长码字很辛苦啊,转载时请保留本声明及附带文章链接:https://blog.tag.gg/showinfo-3-36189-0.html
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?
上一篇:Docker容器内部执行命令报错bash: ping: command not found 解决方法
下一篇:SSH登录报错 Could not set limit for 'nofile': Operation not permitted解决方法