首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为几个用户验证"su“的Bash脚本

"su"是Linux系统中的一个命令,用于切换用户身份。通过"su"命令,可以在当前用户的权限下切换到其他用户的身份,并且可以执行该用户具有权限的操作。

Bash脚本是一种文本文件,其中包含一系列的命令和逻辑,可以在Linux系统中执行。下面是一个验证"su"的Bash脚本的示例:

代码语言:txt
复制
#!/bin/bash

# 输入要切换的用户名
read -p "请输入要切换的用户名: " username

# 使用su命令切换用户身份
su - $username -c 'whoami'

# 判断切换是否成功
if [ $? -eq 0 ]; then
    echo "切换用户成功"
else
    echo "切换用户失败"
fi

上述脚本首先会要求用户输入要切换的用户名,然后使用"su"命令切换到该用户的身份,并执行"whoami"命令来验证切换是否成功。最后,根据"su"命令的返回值判断切换是否成功,并输出相应的提示信息。

这个脚本可以用于验证"su"命令是否能够成功切换到指定用户的身份。在实际应用中,可以根据需要进行修改和扩展,例如添加其他操作或者错误处理逻辑。

腾讯云相关产品中,与用户身份验证和权限管理相关的产品包括腾讯云访问管理(CAM)和腾讯云密钥管理系统(KMS)。CAM提供了身份验证、权限管理、资源授权等功能,可以帮助用户实现精细化的权限管理。KMS提供了密钥管理服务,可以用于加密和解密敏感数据,保护用户的数据安全。

腾讯云访问管理(CAM)产品介绍:https://cloud.tencent.com/product/cam 腾讯云密钥管理系统(KMS)产品介绍:https://cloud.tencent.com/product/kms

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

雷军:希望小米SU7成苹果用户购车首选!

在已经发布三期答网友问之中,雷军回应了关于定价、首款车定位、如何评价苹果终止造车等问题。 “三年前小米官宣造车发布会上,我说,这是我人生最后一次创业,我愿意押上我全部声誉,小米汽车而战。...尽管投资回报周期较长,小米公司现金储备超过1300亿元(远超比亚迪和理想),应对挑战提供了坚实支持。 关于定价 自去年底亮相后,关于小米SU7系列定价问题,一事被受关注和热议。...希望小米SU7成苹果用户购车首选” 今年2月,苹果被曝终止了已研发长达10年造车计划,消息一出轰动整个汽车圈。 针对此事,《雷军答网友问》视频中表示,第一次听到苹果终止造车,“我非常非常震惊。...苹果策略总是希望做高毛利产品,这在汽车行业是很难达到。” 雷军称:“苹果用户也不用担心,小米SU7对苹果生态支持非常全面、非常彻底,我们希望小米SU7成苹果用户购车首选。”...据了解,小米SU7支持苹果无线CarPlay、AirPlay等协议,可以让iPhone用户实现深度车手互联,无缝连接。

17010

解决 Mac和Idea 终端关闭后,环境变量失效,每次都需source ~.bash_profile 问题

遇到问题 在配置linux时候,发现一个问题:su root切换到root用户后,/etc/profile 中配置PATH不起效果。...问题分析和疑问 是不是/.profile,/.bashrc等初始化当前用户脚本有非法初始化操作覆盖了PATH ? /etc/profile 定义PATH不是全局有效吗?...用su – root 代替 su root; 从 vagrant 用户登录root 用户,密码是vagrant ; 跟着文中提到几个概念(登录shell,交互shell),查了一下资料,思路终于理清了...不同用户初始PATH是不一样。切换用户系统会先将PATH设为初始值,然后再根据调用初始化脚本,添加PATH中路径。并不是所有用户共用一个PATH。...exit 和logout 实现用户之间登录与退出 echo $$可以查看当前shell ID , 退出shell前后可以执行这个指令进行验证

1.6K10

生产环境自启动失败问题排查

startapp.sh脚本内容模拟生产上应用用户app启动两个进程,分别用新建目录test01和文件test.txt替换,若能正常生成文件且文件属主app:app,则自启脚本达到目标。...文件新建成功了,只是是用root新建,证明"su - app"这段失效了,于是对这段进行改造 2.脚本改造 改造后脚本: [root@node01 ~/scripts]# more startapp.sh.../bin/bash echo "-------start app1-------" su - app -c "mkdir /tmp/test01" echo "-------start app2----...test目录和文件 再次重启并验证 [root@node01 /tmp]# init 6 发现新生成文件属主app,符合预期,问题解决 四、总结 在脚本里想切换用户并执行后续操作不能直接使用"su...- xxx"然后回车继续写命令方式,正确方式有两种,一种是前面提到"su - xxx -c "xxxx"方式,另一种是如下方式(也已验证通过): [root@node01 ~/scripts]#

44310

Linux中创建自己MOTD

/etc/motd文件作用是:每次系统登陆时,通过终端展示一些消息给登陆用户,如向用户提示欢迎信息,或提示使用系统注意事项等等信息像公告板一样所有用户提示信息。.../*.sh,而用于验证echo显示命令位于配置文件末尾。...注:验证时 最好仔细看一下相关配置文件 并将验证echo命令位于配置文件前面位置。否则会可能带来认知错误。   ...在Ubuntu中,提供了一组脚本在目录/etc/update-motd.d/中,在用户登录时,按照脚本名字前缀数字(00-99)顺序执行,并将这些脚本输出保存到文件/run/motd.dynamic...小结: /etc/motd文件可实现静态MOTD内容;动态MOTD需通过脚本在linux用户登录bash配置文件执行,Ubuntu中提供了/etc/update-motd.d/目录来实现动态MOTD。

4.2K41

【查看日志】一文详解cdlog

我们在日常测试过程中,经常需要去服务器查看日志,测试一个场景可能就涉及到好几个应用,作为测试必须熟悉系统之间调用关系。...那么出现问题时可能就需要去好几个系统排查问题,需要cd到不同目录下进行查看,手速快同事一顿猛敲,手速慢同事只能干着急了......那么如何快速查看日志呢?需要一个cdlog命令!...写一个脚本,每次执行该脚本,那么还是不可避免需要输入命令,有没有一个可以在任意位置执行该脚本呢?...${comp}-${codeName} -s /bin/bash stop.sh; su ${comp}-${codeName} -s /bin/bash start.sh elif [[ $...fi }; func' 5、最后总结 测试这个工作本身属性就是重复和繁琐,如何提高效率,解决重复和繁琐,就体现了一个测试工程师价值! 善于挖掘用户痛点不仅是产品经理工作,也是测试工程师职责!

48420

Linux:使用su命令以非登录用户身份执行命令

然而,对于那些被设置不能登录用户(如其shell被设置/sbin/nologin或/bin/false),我们仍然可以使用su命令以该用户身份执行特定命令,而不是进入一个完整shell会话。...这里关键是指定一个有效shell,比如/bin/bash,然后紧跟要执行命令。格式如下: bash su -s /bin/bash -c '' 3....示例 假设我们需要以apache用户(其shell可能是/sbin/nologin)身份运行一个脚本script.sh,我们可以这样做: bash su -s /bin/bash apache -c...'/path/to/script.sh' 这条命令会以apache用户权限运行位于/path/to/script.sh脚本。...结论 使用su -s /bin/bash可以有效地以任何用户身份执行命令,即使该用户账户被设为了不能登录。这种方法系统管理员提供了灵活性,同时也需要谨慎使用,以保证系统安全与稳定。

18210

第七章·Linux用户管理-用户基本操作

.用户登陆名 //用户账号名称 2.加密后密码 //用户密码,这是加密过口令(未设密码时!!)...,只调整时间如下进行验证: 1.验证普通用户是否能修改密码, 不需要调整时间。...那么在学习如何切换用户之前,我们先来了解下用户工作环境。 如何在普通用户情况下,完成日常工作? 1)su 切换用户,使用普通用户登录,然后使用su命令切换到root。...优点:安全,方便 缺点:复杂 1.Shell分类 交互式shell //等待用户输入执行命令(终端操作,需要不断提示) 非交互式shell //执行shell脚本, 脚本执行结束后shell...自动退出 登陆shell //需要输入用户名和密码才能进入shell su - zls 非登陆shell //不需要输入用户和密码就能进入,比如执行sh, bash, su username

2.2K30

linux 文件访问权限那些事儿

后面我们会用这里创建用户及组来做一些验证,具体就是在 line 14 插入一些测试脚本,用于验证一些在多用户场景下权限问题。...(默认位置用户私有工作目录,其它用户一般不能访问),以便下一步做测试; su 命令将以新用户身份运行脚本,这里使用了 lippman 用户,当然也可以选用其它任何用户,usermod -g 在 root...需要注意一点就是,不能使用 shell 脚本来充当 demo 进程, shell 脚本文件设置 setud / setgid 不会起作用,其实这个细想一下也可以想通——真正启动进程是 sh / bash...一个用例验证了两个结论。现在回过头来看目录 setgid 作用,它保证了这个目录下所有文件 (一般情况而言) 都有一致 ogid,那这个有什么用处呢,下面分几个方面来考察一下。...以下几个是需要注意点: 目录 ogid 必需要共享 gid; 目录最好设置 setgid; 有额外要求的话 (禁止删除、重命名非自己创建文件),可以设置 svtx 位。

5.3K20

linux用户与组管理(命令加入、手动加入、加入组、用户之间切换)

一、用户登录时候须要验证是这两个文件 检測username Login: root 到该文件夹下检查 /etc/passwd 检測用password...用useradd加入用户由于是系统自己加入 通过已经定义好脚本文件将skel里脚本分给每个 在/home/下新加入用户,这里当读到/etc/login.defs这个文件时 这里设定umask...影响,它是以它父文件夹umask值标准,所以手动加入用户权限就是 777-homeumask所得到。...lisi] su zhy 当前更换用户zhy 可是文件夹不变 2、加-用户切换 [。。。。。...lisi] su – zhy 当前更换用户lisi 可是文件夹变为~ [。。。。。

5.9K10

Linux环境变量 转

/etc/profile : 此文件系统环境变量,它为每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d 目录配置文件中搜集shell 设置。    ...修改上面介绍几个环境变量配置文件 source 当直接执行一个脚本时候,其实是在一个子shell 环境运行,即开启了一个子shell 来执行这个脚本脚本执行完后该子shell 自动退出。...随后bash会执行用户主目录下.bash_profile脚本,.bash_profile脚本会执行用户主目录下.bashrc脚本,  而.bashrc脚本会执行/etc/bashrc脚本  至此...:在用户切换并加载变量,例如su -,这时,如果用户自己切换自己,比如root用户再用su - root切换的话,加载PATH和上面的不一样. ...用户例,最终PATH会是这样(没有其它自定义基础上)  /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/

2.5K10

《调教命令行08》一文搞懂Linux权限体系

本小节将看一下用户权限和文件权限这两个息息相关概念, 1、添加用户 到现在为止,我们系统中,还孤零零只有这一个用户,是时候学学女娲,捏几个小泥人了。...为了进行下面命令验证,我们首先创建一个名字叫confirm777.sh脚本文件。为了让脚本对所有用户可见,我们把它创建在/tmp目录下。...所有者权限,缩写u。文件所有者所拥有的权限。也就是root用户权限,是rw- 组用户权限,缩写g。文件所属组内所有用户权限。因为root组内只有root一个用户,所以组用户权限是r--。...接下来,我们验证用户组相关权限位。...权限相关几个命令会经常被使用,下面举几个例子。

65820

【Shell】环境变量 自定义变量 特殊变量

$n 2.使用双引号括起来  "$*"获取所有参数拼接一个字符串, 格式: "$1 $2 ... $n"  "$@"获取一组参数列表对象, 格式: "$1" "$2" ......shell脚本文件观察验证上面的流程运行 分析 清理工作, 清理/etc/profile文件中VAR1环境变量进行删除, 并且重载这个配置文件 编辑/etc/profile, 增加环境变量VAR1...需要登录执行shell脚本读取环境变量配置在:/etc/profile、/当前用户/.bash_profile 不需要登录用户执行shell脚本读取环境变量配置在:/当前用户/.bashrc...Shell环境 目标 理解切换shell环境命令 切换shell环境命令介绍 直接登录加载shell登录环境 su切换用户加载Shell登录与Shell非登录环境 bash加载Shell...客户端远程采用SSH登录演示 切换环境方式2:su切换用户登录 命令 语法1 su 用户名 --login 或 su 用户名 -l # 切换到指定用户, 加载Shell登录环境变量 语法2 su

48231

客快物流大数据项目(二十二):Docker环境中安装软件

5 设置oracle用户密码(我设置密码oracle) passwd oracle image.png 5、配置Kernel参数 操作步骤说明 1 配置安装Oracle时必须满足kernel参数...设置~/.bash_profileoracle用户权限(使用root用户操作) chown -R oracle:oinstall ~/.bash_profile image.png 注意:先切换到oracle...用户目录下再操作(使用oracle用户操作) su oracle vim ~/.bash_profile 新增: umask 022 export ORACLE_HOSTNAME=server01 export...image.png 4 安装成功会显示内容 image.png 5 安装成功后会提示下一步操作 image.png 6 Oracle要求使用root用户来执行这两个脚本 切换回root用户(输入root...密码) su 7 使用root用户执行orainstRoot.sh脚本 sh /u01/app/oracle/inventory/orainstRoot.sh image.png 8 使用root用户执行

43151
领券