系统无法执行su操作案例以及解决问题过程| 学习笔记

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

开发者学堂课程【线上Linux服务器优化经验系统无法执行su操作案例以及解决问题过程】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/382/detail/4808


系统无法执行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]# su一iiveylinux

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 +0800;Change: 2016-02-28 15:12:50.894753170 +0800 可以看到 Access(访问目录的时间),Modify (修改目录的时间),Change(改变目录的时间)。

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

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

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

相关文章
|
5月前
|
运维 Ubuntu Linux
Linux重置root用户密码
本文详细介绍了Linux系统中root密码重置的核心技能,涵盖主流发行版如RHEL、CentOS、Debian、Ubuntu、Arch、openSUSE等的实操方法。内容包括通过GRUB引导编辑、单用户模式和Live CD救援三种方式重置密码的具体步骤,适配物理机、虚拟机及云服务器环境。文章分步解析了启动拦截、权限获取和密码重置三大阶段,并提供各发行版的实际操作代码示例,帮助管理员快速解决忘记root密码的问题。
|
传感器 机器学习/深度学习
如何下载DVS Gesture数据集?解决tonic.datasets.DVSGesture错误HTTP Error 403: Forbidden
本文介绍了如何解决在使用tonic库下载DVSGesture数据集时遇到的HTTP Error 403 Forbidden错误,建议从Figshare的链接下载完整数据集并解压到指定目录,以便成功加载数据集进行手势识别研究。
422 1
|
前端开发 Java
2022最新版JDK1.8的安装教程、包含jdk1.8的提取码(亲测可用)
这篇文章提供了详细的JDK 1.8的安装步骤,包括下载、安装向导、环境变量配置,以及如何检查安装是否成功的方法。
2022最新版JDK1.8的安装教程、包含jdk1.8的提取码(亲测可用)
|
Ubuntu Linux
Linux服务器的自动启动可以在哪里进行配置?
Linux服务器的自动启动可以在哪里进行配置?
389 3
|
存储 SQL 关系型数据库
ClickHouse(09)ClickHouse合并树MergeTree家族表引擎之MergeTree详细解析
ClickHouse的MergeTree系列引擎是其高性能大数据存储的核心,特别适合大量数据的快速插入。数据按主键排序,支持分区和数据副本,提供数据采样功能。建表时,通过`ENGINE = MergeTree()`指定引擎,`ORDER BY`指定排序键,可选`PARTITION BY`分区,`SAMPLE BY`进行采样。此外,MergeTree支持多种索引和设置,如`index_granularity`控制索引粒度。查询时,ClickHouse利用主键和索引来高效检索数据,尤其在使用等值或范围条件时。
420 0
|
SQL 存储 算法
ClickHouse(06)ClickHouse建表语句DDL详细解析
ClickHouse创建表有多种语法,包括在当前服务器上创建、复制已有表结构、从表函数创建和从查询创建。表引擎决定表的特性和数据存储方式,如Memory引擎仅存储内存中。分布式DDL可在CLUSTER子句中实现跨节点操作。临时表生命周期与会话绑定,仅支持Memory引擎。分区表用于优化查询性能,MergeTree系列引擎支持分区。默认值表达式(DEFAULT, MATERIALIZED, EPHEMERAL, ALIAS)影响数据插入和查询行为。主键和约束可增强数据完整性,TTL功能用于自动删除过期数据。列压缩和编码能减少存储空间。文章还提供了ClickHouse更多相关系列内容链接。
1050 5
|
Ubuntu Linux C语言
Could not establish connection to “xx.xx.xx.xx“:The VS Code Server faild to start.【重要解决方案】
Could not establish connection to “xx.xx.xx.xx“:The VS Code Server faild to start.【重要解决方案】
1027 0
|
存储 人工智能 移动开发
7zip 命令/编程使用手册
7zip 命令/编程使用手册
872 0
|
前端开发
HTML+CSS实现轮播图效果
HTML+CSS实现轮播图效果
|
监控 Linux
下一篇
开通oss服务