系统无法执行su操作案例以及解决问题过程

简介: 系统无法执行su操作案例以及解决问题过程

系统无法执行su操作案例以及解决问题过程

 

一、几个故障处理和优化案例

1.系统无法执行su操作

问题现象表示为:

su: warning:cannot change directory to /home/iiveylinux:Permission denied

su: /bin/bash:Permission denied

 

通过现象可以看出是权限方面策略问题,可以对其进行如下操作:

[root@pmp-rtb1 /]# cd /home/

[root@pmp- rtb1 home ]# 1s

Iiveylinux

[root@pmp-rtb1 home]# suiiveylinux

su: warning:cannot change directory to /home/iiveylinux: Permission denied

su:  /bin/bash: Permission denied

[root@pmp- rtb1 home] #

 

 

解决思路:

从上面错误提示首先想到是权限出现了问题,那么可以从权限入手进行排查,

基本思路如下:

(1)用户目录/home/oracle权限问题;

[root@pmp-rtb1 home ] # cd /home/

[root@pmp-rtb1 home]# ls

Iivey linux

[root@pmp-rtb1 home]# 11

total 4

Drwx-----2 iiveylinux iivey 1inux 4096 Feb 28 15: 11 iiveylinux

[root@pmp-rtb1 home ] #

[root@pmp-rtbl iiveylinux]# 11

Total 0

[ root@pmp-rtb1 iivey 1inux ]# 1s  -al

total 24

(通过实际操作发现,用户目录权限没有问题)

 

(2) su程序执行权限问题;(su本身是一个命令,su权限没有问题,su本身没有缺少库文件)

 

[root@pmp-rtb1 iiveylinux]# 11 /sbin/su

1s: cannot access /sbin/ su:No such file or directory

[root@pmp-rtb1 iivey1inux]# 11/bin/su

-rwsr-xr-x. 1 root root 34904 Jun 25  2014 /bin/su

[root@pmp-rtb1 iivey1inux] #

 

排除su权限的命令问题

[root@pmp-rtb1 iiveylinux]# 1dd /bin/su

linux-vdso.so.1 => (0x000O7fff99bff000)

1ibpam. so.0 =>/ 1ib64/ libpam. so. O (0x000O7 f1fc7605000)

1ibpam_misc.so.O => /lib64/libpam_mis.so.0 (Ox00007 f1fc7401000)

libc.so.6 => /lib64/libc.so.6(0x000Of1fc706c000)

libaudit.so.1=>/lib64/lbaudit.so.1(0x00007 f1fc6e50000)

Libd1.so.2=> /lib64/libdl.so.2(0x00007flfc6c4c000)

Libcrypt.so.1=> /lib64/libcrypt.so.1(0x00007flfc6a14000)

/lib64/ld-linux-x86-64.so.2(0x0000003642000000)

Libfreeb13.so=> /lib64/libfreeb13.so(0x00007flfc679d000)

[root@pmp-rtb1 iivey1inux]#

 

su命令本身也没有问题

(3)程序依赖的共享库权限问题;(程序依赖的共享库没有问题)

selinux问题导致;

[root@pmp-rtb1 iivey1inux]# more /etc/se1inux/config

# This file contro1s the state of SELinux on the system .

SELINUX= can take one of these three values :

 

# enforcing-SELinux security policy is enforced

# permissive-SELinux prints warnings instead of enforcing.

SELING=disabled

#    SEL INUXTYPE= type of policy in use. POSSible values are:

#    targeted -only targeted network daemons are protected

#strict- Full SELinux protection.

SEL INUXTYPE=targeted

[ root@pmp-rtb1 iiveylinux]# setenforce  0

setenforce: SELinux is disabled

[ root@pmp-rtbl iivey1inux]#

[ root@pmp-rtb1 i ivey1 inux]# su - iivey1 inux

su: warning:. cannot change directory to/home/iiveylinux: Permission denied

su:/bin/bash: Permiss ion deni ed

[ root@pmp-rtb1 iiveyLinux]#

Vipw: /etc/passwd is unchanged

[root@pmp-rtbl iiveylinux]# cd /home /

[root@pmp-rtb1home]# ls

iivey1inux

[root@pmp-rtb1 home ]# 1s-al

 

total 12

drwxr-xr-x 3root root 4096 Feb 28 15: 11

drw- rW- rw-23 root root 4096 Feb 26 16:31

drwx------ 2 iiveylinux. iiveylinux 4096 Feb 28 16:11 iiveylinux

[root@pmp-rtb1 home ]# cd iivey 1inux/

[root@pmp-rtb1 iiveylinux]# 1s -al

 

Total 24

drwx ----- 2 iiveylinux iiveylinux 4096 Feb 28 15: 11

drwxr-xr-x. 3 root  root  4096 Feb 15:11

-rw-------1 iiveylinux iiveylinux 5 Feb 28 15:11 bash_ history

-rw-r--r--1 iiveylinux iiveylinux 18 Oct 16 2014 bash_logout

-rw-r--r--1 iiveylinux iiveylinux 176 Oct 16 2014 bash_profile

-rw-r--r--1 iiveylinux iiveylinux 124 Oct 16 2014 bashrc

[ root@pmp-rtb1 iiveyLinux]#

 

(通过系统操作发现selinux没有关闭,所以selinux不存在问题)

 

4)系统根空间问题;

(通过系统执行发现,根空间较大,故不存在问题)

[ root@pmp-rtb1 , ]# stat /

File:

size:4096 Blocks: 8   IO Block:4096  directory

Device: fco1h/64513d Inode: 2  Links:23

Access :(0666/ drw- rw-rw-)  uid:( 0/ root )Gid: ( 0/ root )

Access :2016-02-28 15:15 03.808745379 +0800

Modify:2016-02-26 16:31:47.525999939 +0800

Change :2016-02-28 15:12:50.894753170 +0800

[ root@pmp-rtb1 /]#

 

2.  如上所示,进行一一排查之后,可以考虑登陆设备权限是否被限制,登陆设备权限不存在问题,那么接下来的操作,应该始终把现象和我们的思路紧密联系在一起.

 

3.  最后再回到/home/iiveylinux: Permission denied上来,再执行ls-al命令,执行完之后,

通过查看发现iiveylinux目录权限没有问题。

继续drw-rw-rw. 23 root root 4096 Feb 26 16:31..可以看到出现了drw-rw-rw-.

对应两个点(在目录里面一个点代表当前目录,即/home目录;两个点表示上一级目录)

 

4.在系统操作里面两个点对应的是drw-rw-rw-.执行操作发现是根目录的权限存在问题。

在实际操作中,可以通过ls-al查看根目录是否存在问题,如果想对根目录是否存在问题查看的更为详细,

可以执行stat命令,具体操作输入stat/,执行之后,重点关注Access:(0666/drw-rw-rw-),发现根目录没有执行权限,显然错误。

 

通过查看Access: 2016-02-28 15:15:03. 808745379 +0800  Modify: 2016-02-26 16:31:47.525999939 +0800Change: 2016-02-28 15:12:50.894753170 +0800 可以看到Access(访问目录的时间),Modify(修改目录的时间),Change(改变目录的时间)。

 

通过查看AccessModifyChange可以追溯是什么原因导致的,比如是否是人为因素。

 

发现问题之后,接下来考虑如何解决问题。

 

5)根目录必须有执行权限所以可以通过赋予根目录权限来解决问题。

相关文章
|
5月前
|
Cloud Native 数据处理
项目环境测试问题之当异步任务在运行过程中抛出非预期的异常会导致后果如何解决
项目环境测试问题之当异步任务在运行过程中抛出非预期的异常会导致后果如何解决
|
8月前
|
测试技术
如何做好测试执行工作?
如何做好测试执行工作?
|
运维 安全 Oracle
系统无法执行su操作案例以及解决问题过程| 学习笔记
快速学习系统无法执行su操作案例以及解决问题过程。
|
测试技术
软件测试面试题:lr中,如果你想停止执行出错的脚本,怎么做?
软件测试面试题:lr中,如果你想停止执行出错的脚本,怎么做?
91 0
|
网络协议 安全 Java
工作中常用到的Linux命令操作
工作中常用到的Linux命令操作
239 0
|
测试技术
开发询问测试是否能提前更新测试环境,测试应该如何分析和决策?
开发询问测试是否能提前更新测试环境,测试应该如何分析和决策?
184 0
|
缓存 网络协议 Linux
如何用九条命令在一分钟内检查Linux服务器性能?
一、uptime命令 这个命令可以快速查看机器的负载情况。在Linux系统中,这些数据表示等待CPU资源的进程和阻塞在不可中断IO进程(进程状态为D)的数量。这些数据可以让我们对系统资源使用有一个宏观的了解。
1068 0
记录一次用命令行排错的过程
详见我的有道云笔记:点击此处跳转 。有问题请在下面留言。谢谢
631 0
|
JavaScript 前端开发 C#
一起谈.NET技术,浅谈思路严谨的用户在线状态控制【附部分C#参考代码】
  我们经常会遇到:   1:客户购买了5个用户的许可,10个用户的许可,软件需要限制用户的并发数量,我知道就是Oracle的并发用户达到20个以上,那费用是非常昂贵的。   2:一个用户只能登录一次或者是一个账号在同一时间只能登录一个,若已经是登录了就不让再登录了,需要能控制用户的并发登录问题。
916 0