Linux下的su命令

  • 命令概述

su命令,将有效的用户id和组id更改为user。

  • 命令语法 

su [选项]... [-] [用户 [参数]... ]

  • 参数说明
-login使shell成为一个登录shell;
-c= command使用-c向shell传递单个命令,并且不要创建新的会话;
--help显示此帮助信息;
--version  显示版本信息;
  • 命令示例

1. su  root:切换用户,但是不改变当前的环境变量;

[sf@localhost /]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/sf/.local/bin:/home/sf/bin
[sf@localhost /]$ su root
[root@localhost /]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/sf/.local/bin:/home/sf/bin

2. su - root :切换用户变量同时也切换到该用户的环境变量;

[sf@localhost /]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/sf/.local/bin:/home/sf/bin
[sf@localhost /]$ su - root
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

3. su -c ls root  或  su -c "mkdir test1" root  :变更帐号为 root 并在执行指令后退出;

[sf@localhost /]$ su -c ls root
Password: 
bin  boot  data  data2	dev  etc  home	lib  lib64  media  mnt	opt  proc  root  run
[sf@localhost /]$ su -c "mkdir -v test1" root
Password: 
mkdir: created directory ‘test1’
  • 0
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: su命令Linux系统中的一个重要命令,用于切换用户身份。如果su命令出现故障,可能会导致用户无法切换身份,影响系统的正常运行。为了鉴定su命令的故障,可以采取以下步骤: 1. 检查su命令是否存在:在终端中输入su命令,如果提示“command not found”,说明su命令不存在,需要安装或修复。 2. 检查su命令的权限:su命令需要root权限才能执行,如果当前用户没有足够的权限,su命令将无法执行。可以使用sudo命令或者切换到root用户来执行su命令。 3. 检查su命令的配置文件:su命令的配置文件位于/etc/pam.d/su,如果该文件被修改或损坏,su命令可能会出现故障。可以使用diff命令比较原始的配置文件和当前的配置文件,或者使用备份文件替换当前的配置文件。 4. 检查系统日志:su命令的执行日志会被记录在系统日志中,可以使用命令“tail -f /var/log/messages”查看最新的系统日志,查找与su命令相关的错误信息。 通过以上步骤,可以鉴定su命令的故障,并采取相应的措施进行修复。 ### 回答2: Linuxsu命令是用来切换到另一个用户的身份,通常是切换到超级用户账户(root)以执行系统级别的操作。如果su命令出现故障,可能会导致用户无法正确地切换到另一个账户,影响到系统的正常运行。 以下是su命令可能出现故障的一些情况和解决方法: 1. su命令无法开启超级用户权限 当用户使用su命令切换到超级用户时,可能会发现无法正确地开启超级用户权限,而只能以普通用户身份工作。这可能是因为系统管理员没有为普通用户授权超级用户权限,需要手动修改sudoers文件并添加相应的授权规则。 解决方法: 1)编辑sudoers文件:sudo visudo 2)在文件末尾添加以下内容: username ALL=(ALL) ALL 3)保存并退出文件 4)重新启动终端并尝试使用su命令 2. su命令无法识别账户密码 当用户使用su命令切换到另一个账户时,可能会发现无法识别该账户的密码,导致切换失败。这可能是由于密码错误或者密码已过期等原因导致。 解决方法: 1)确认账户密码是否正确,可以通过尝试使用该账户登录进行验证 2)如果密码已过期,可以使用passwd命令来修改密码 3. su命令无法识别系统变量 有时候,su命令可能无法识别系统变量,导致环境变量设置失效或者命令无法执行。 解决方法: 1)使用su -命令代替su命令,这样可以保持当前环境变量不变 2)手动设置环境变量,使用export命令 总之,su命令出现故障可能是多种原因导致的,需要根据具体情况进行排查,解决方法也可能不同,可以根据上述常见问题来寻找解决方法。在使用su命令时,用户应该谨慎操作,以避免因误操作导致系统故障。 ### 回答3: su命令Linux操作系统中的一条命令,用于切换用户身份。通过su命令,用户可以在不退出当前用户的情况下,以另一个用户的身份进行操作。 但是,在使用su命令的过程中,可能会出现一些故障,影响使用效果。如果遇到su命令无法正常运行的情况,可以采取以下步骤进行鉴定故障和解决问题: 1. 检查权限设置 首先,需要检查当前用户是否具有切换到其他用户的权限。在Linux中,只有具有root权限的用户才能切换到其他用户。如果当前用户没有root权限,则无法使用su命令。 此外,还需要确保目标用户的帐户是否存在且已启用。如果目标用户的帐户被禁用或不存在,则无法使用su命令切换到该用户。 2. 检查环境变量设置 在使用su命令时,可能会出现由于环境变量设置错误导致命令无法正常执行的情况。为了解决这个问题,可以尝试在命令前加上“- ”参数,这会将当前环境变量与目标用户的环境变量合并,从而确保环境变量设置的正确性。 例如:su - target_user 3. 检查系统文件设置 如果su命令在系统中无法找到,则无法运行该命令。在这种情况下,可以尝试检查系统文件路径是否正确,并确保命令可执行文件(su)是否存在于该路径中。 例如:/bin/su 扫描磁盘,如果系统中的su命令文件已经损坏或被删除,则需要重新安装该命令。 4. 检查日志文件 最后,如果以上步骤都无法解决问题,则需要检查系统的日志文件,以查看是否存在其他的错误信息。在Linux中,常见的日志文件包括/var/log/syslog、/var/log/messages和/var/log/auth.log等。 总之,在使用su命令过程中,遇到无法正常执行的情况,应该先检查权限设置、环境变量设置、系统文件设置和日志文件等方面,逐一进行排查,找出导致问题的原因,然后采取相应的解决措施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值