su切换用户

#查看当前用户

[[email protected] ~]# id

uid=0(root) gid=0(root) 组=0(root)

[[email protected] ~]# whoami

root

su  切换用户

-   在切换用户的同时,把用户的环境变量全部切换到那个用户的环境变量下;若不加这个-,就是当前的环境变量下

注:root切换到其他用户下,不需要输入密码;而其他用户切换到root下,是需要输入密码的。

# - 加与不加的区别

[[email protected] ~]# su wyy

[[email protected] root]$ echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

[[email protected] root]$ pwd

/root

[[email protected] root]$ exit

exit

[[email protected] ~]# su - wyy

[[email protected] ~]$ echo $PATH

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/wyy/bin

[[email protected] ~]$ pwd

/home/wyy

有时候有这样的需求,切换到普通用户下,目的不是为了切换,是为了在这个用户的环境下去执行一条命令,也就是以这个用户的身份去执行某一条命令。不用切换,可以直接这样用:

#查看用户的id

[[email protected] ~]# su - -c "id" wyy

uid=500(wyy) gid=500(wyy) 组=500(wyy)

#创建目录并查看(若提示权限不够,把/tmp权限修改为1777)

[[email protected] ~]# su - -c "mkdir /tmp/1212" wyy

[[email protected] ~]# su - -c "ls -ld /tmp/1212" wyy

drwxrwxr-x 2 wyy wyy 4096 9月  24 11:17 /tmp/1212

时间: 2024-10-13 02:21:43

su切换用户的相关文章

linux使用su切换用户提示 Authentication failure的解决方法& 复制文件时,报cp: omitting directory `XXX'

linux使用su切换用户提示 Authentication failure的解决方法:这个问题产生的原因是由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在终端中输入如下命令: sudo passwd Password:你当前的密码 Enter new UNIX password:这个是root的密码Retype new UNIX password:重复root的密码然后会提示成功的信息. 在说明一点,使用su和sudo是有区别的,使用su切换用户需要

当 su 切换用户报错:无法设置用户ID:资源暂时不可用

今天在使用su切换用户doiido的的时候,出现了如下报错:# su - doiidosu: 无法设置用户ID: 资源暂时不可用 同时使用SecureCRT等远程SSH工具均无法使用doiido用户连接.查找相关资料,发现是在CentOS 6中,存在/etc/security/limits.d/90-nproc.config文件,此文件限制了普通权限用户的最大线程数,当此用户的最大线程数max user processes到达最高限制数,就无法连接登录.因此在无法减少线程的情况下只能修改此参数,

linux使用su切换用户提示 Authentication failure的解决方法

刚刚安装的虚拟机,使用的ubtun系统,进如操作系统后,简单地尝试了一下,发现无法使用shutdown命令进行关机,并且无法进行su命令,提示 Authentication failure 这个问题产生的原因是由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在终端中输入如下命令: sudo passwd Password:你当前的密码 Enter new UNIX password:这个是root的密码 Retype new UNIX password:

su 切换用户的提示"This account is currently not available"

su 切换ivalue用户时,提示"This account is currently not available"; 首先进入/etc/passwd文件中是否添加ivalue用户,发现ivalue用户时候存在: cat /etc/passwd | grep ivalue 我们发现发现该用户不允许登录系统,所以导致我们su 切换时候报错 我们将“/sbin /nologin”,改成"/bin/bash"保存 再次切换,切换成功:

Linux操作,su切换用户命令中有无横杠“-”的区别

工作中遇到这样的问题,服务器上需要从root切换至postgreSQL安装用户去启动postgreSQL服务. 切换用户和启动postgreSQL命令如下: # 切换至pgsql用户 su postgres # 启动 pg_ctl start -bash: pg_ctl: command not found 提示pg_ctl命令不存在,但是可以肯定的是之前安装postgreSQL时就是这么启动的,怎么这次不行了呢. 后来了解到原来是su命令的问题,有没有横杠"-"是有区别的. su -

su: 切换用户

切换指定的用户 [[email protected]192 ~]# su - www [[email protected]-server-192 ~]$ 切换root用户 [[email protected]192 ~]$ su 密码: [[email protected]-server-192 www]# su -  切换root用户并且shell环境也切换到root [[email protected]192 ~]# su - www [[email protected]-server-19

su切换用户报错cannot set user id: Resource temporarily unavailable

su: cannot set user id: 资源暂时不可用 登录root su - tomcat 报错: cannot set user id: Resource temporarily unavailable tomcat账号突然不可用. 根本原因是:linux操作系统默认最大允许进程数是1024. 随着应用的增加,我们的需求已超过了1024 曾经改过nproc配置: cat >> /etc/security/limits.conf << EOF *           so

Linux系统中切换用户身份su与sudo的用法与实例

日常操作中为了避免一些误操作,更加安全地管理系统,通常使用的用户身份都为普通用户,而非root.当需要执行一些管理员命令操作时,再切换成root用户身份去执行. 普通用户切换到root用户的方式有:su和sudo. 1,su - (su为switch user,即切换用户的简写) 格式:su -l USERNAME(-l为login,即登陆的简写) -l可以将l省略掉,所以此命令常写为su - USERNAME 如果不指定USERNAME(用户名),默认即为root,所以切换到root的身份的命

如何在shell下切换用户执行命令?

su - dev -c "ls" "su -"切换用户,并且当前目录页切换到相应用户的根目录. "dev"是用户名 "-c"后面接需要执行的shell command 如何在shell下切换用户执行命令?