`su`和`su-chen的区别是什么? -- linux 领域 和 centos 领域 和 root 领域 和 users 领域 服务器管理 相关 的问题

What is the difference between `su` and `su -` in CentOS?


简体版||繁體版
7
vote

问题

中文

我试图通过运行 su 来切换到CentOS中的"root" 。它确实改变为"root" ,但它似乎不是真正的"root" 用户。

例如,默认情况下, ifconfig 命令在 /sbin 中找不到普通用户的路径中,但对于"root" ,可以找到该命令。当我运行 abcdefghijklmn3 时,我仍然得到 bash: ifconfig: command not found 输出时,我尝试运行 ifconfig

但是,当我运行 su - 时, ifconfig 只是有效。

su su - 中的差异是什么?

英文原文

I tried to switch to 'root' in CentOS by running su. It does change to 'root', but it doesn't seem to be a real 'root' user.

For example, by default, ifconfig command in /sbin is not found in the path for a normal user, but for 'root', the command can be found. When I run su, I still get bash: ifconfig: command not found output when I try to run ifconfig.

However, when I run su -, ifconfig just works.

What is the difference between su and su - in CentOS?

           
 
 

回答列表

16
 
vote
vote
最佳答案
 

添加 - 选项会影响您的环境行为。出于所有实用目的,环境完全重置。一般来说,您可能想要使用 su - 而不是普通 su 。从手册页:

  /etc/ssh/ssh_config0  
 

Adding the - option affects your environment behavior. For all practical purposes, the environment is completely reset. In general, you likely want to use su - instead of plain su. From the man page:

 -l      Simulate a full login.  The environment is discarded except for HOME, SHELL, PATH, TERM, and USER.  HOME and SHELL are modified as above.          USER is set to the target login.  PATH is set to ``/bin:/usr/bin''.  TERM is imported from your current environment.  The invoked shell is          the target login's, and su will change directory to the target login's home directory.   -       (no letter) The same as -l. 
 
 
6
 
vote

<代码> /etc/ssh/ssh_config1 调用一个登录shell,其中包括root的 /etc/ssh/ssh_config2 和其他shell startup脚本,就像您直接登录通过控制台或ssh作为root。 root的个人资料通常设置您的路径以包含 /etc/ssh/ssh_config3 ,其中 /etc/ssh/ssh_config4 一般生存。

 

su - invokes a login shell, which among other things, ensures that root's .bashrc and other shell startup scripts are run, just like as if you'd logged in directly as root via console or SSH. root's profile usually sets your path to include /sbin which is where ifconfig generally lives.

 
 

相关问题

0  Linux用户无法在其主目录外读取或编辑  ( Linux user cannot read or edit outside their home directory ) 
我想知道如何在Linux上设置用户帐户,其中用户无法在其主目录外读取或编辑。 谢谢, 本 ...

5  决定锁定什么以及企业用户允许什么的最佳实践是什么? [关闭]  ( What are the best practices in deciding what to lock down and what to allow with ) 
关闭。这个问题需要更多聚焦。它目前不接受答案。 关闭 5年前。 锁定。这个问题及其答案是锁定,因为问题是off-top,但具有历史意义。它目前没有接受新的答案或互动。 ...

0  Web服务器最终用户监控  ( Web server end user monitoring ) 
我正在寻找一个解决方法来监视我的Web服务器上的访问和活动。只有少数人被允许访问我的https或ftp / sftp服务器,我想知道: 是谁 他/她做了什么 他们上传了哪些文件 他们下载哪些文件 我对速度或其他技术信息不感兴趣。 我希望有人可以帮助,因为我现在已经在网上搜索了几天,没有成功... 提前感谢 lut...

223  如何在计算机上与多个用户共享Git存储库?  ( How do i share a git repository with multiple users on a machine ) 
我在登台服务器上有一个git存储库,多个开发人员需要能够拉到。 git-init 似乎有一个旗帜非常接近我正在寻找的东西: --shared ,除了我希望多个人一起拉到该存储库。 git-clone 's <代码> ABCDEFGHIJKLMNABCDEFGHIJKLMN3 标志完全不同。 更改现有存储库...

0  无法登录Gerrit  ( Cannot login into gerrit ) 
我在我的服务器上有一个GERRIT设置,其中HTTP作为身份验证方法和NGINX作为服务器。我创建了一个管理帐户,它完全正常工作。我试图使用命令设置另一个帐户 ssh -p 29418 admin@host gerrit create-account --group "'someGroup'" --email u...

3  无法将用户帐户删除为域管理员  ( Cannot remove user account as the domain administrator ) 
win2k3。登录为域管理员帐户,我无法修改特定用户。我可以编辑其他用户。几乎每个我尝试的变化都会给出"访问被拒绝" 。此用户是一名前域管理员,该域名不再与公司一起,我需要禁用他们的帐户。 ...

2  管理移动工作部队  ( Managing a mobile work force ) 
我的职责是为了管理我的移动用户,销售,支持,exec等,为那些做同样的事情,你是怎么做到的?我知道这是一个非常广泛的问题,但你如何将它们与最新的补丁,病毒defs等更新,并在被盗/丢失的笔记本电脑的情况下保留他们的数据? ...

1  用户无法通过SMTP发送邮件  ( Users cant send mail through smtp ) 
我有自己的mailserver,它曾经被主机托管托管,但现在我有一个vps。 从我的家庭位置,我可以尽可能多地发送和接收邮件。它甚至可以在我的手机上工作。 我的其他用户也能够在我的房子在我的连接时登录他们的帐户。 然而:当他们回家时,他们就不能。而且我不知道为什么。 so,tl;博士:当我的朋友从他的家中发出邮件时...

9  如何远程将域用户添加到本地管理组?  ( How to add a domain user to the local admin group remotely ) 
我需要在遥控器中添加域用户,我必须在本地管理员密码 ...

3  实验室用户帐户  ( Lab user accounts ) 
我为学校划分工作(k-12)。虽然我最感兴趣的是,Windows和Linux管理员必须面对同一问题并具有类似的解决方案。 在特定实验室中的大多数计算机是大致相同的机器。因此,我们拥有新台式机,旧台式机的实验室,新笔记本电脑的实验室(带802.11n)和旧笔记本电脑的实验室(802.11g卡)。 我正在寻找用于使用的帐...

2  如何将用户的私有数据放在Windows 7中的单独分区上  ( How to put users private data on separate partition in windows 7 ) 
我将在一段时间内在机器上安装Windows 7。我想知道如果在安装期间或之后,在单独的分区上可以轻松地将OS数据与用户的数据(I / Windows 7中的用户)分开。 我希望它可以像Unix或Linux上的"/ home" 一样无缝,但我之前从未尝试过windows。 我的主要动机是能够重新安装操作系统,而无需担心...

1  每个用户CAL报告TS 2008  ( Ts 2008 per user cal report ) 
我在Windows Server 2008 STD TS服务器中使用Win7机器rdping。 当我尝试登录时,我会在事件日志中获得以下错误。 事件ID 1004终端服务器 不能发布客户许可证。它是 由于a而无法发出许可 更改(不匹配)客户许可证, 内存不足或内部 错误。此进一步的详细信息 ...

43  如何使用root列出所有用户?  ( How do i list all users with root ) 
在Linux盒子上,如何列出具有root priveleges的所有用户(更好,所有用户通常都有root或没有)? ...

0  如何在用户`mysql`下获取MySQL在启动时运行?  ( How do i get mysql to run at startup under user mysql ) 
我正在使用CentOS上的MySQL,我希望它在 mysql 用户下在启动时运行。我尝试了 /sbin/chkconfig --level 35 mysqld on 从我的 cool-RR 用户,但似乎这会使mysql尝试作为cool-rr运行。如何使其在启动时运行为用户 mysql ? ...

0  GCP用户组?  ( Gcp user groups ) 
在gcp中,我们是否能够将用户组合,如我们在Active Directory中如何进行?我在思考,而不是将角色分配给个别用户,我可以分配给更易于管理的组。谢谢。 ...

0  我编辑/ etc / passwd并有奇怪的问题  ( I edited etc passwd and have strange problems ) 
我手动编辑 /etc/passwd 对于非root用户 - 是的,我知道这很糟糕。 不幸的是,我看到了这个( ssh失败身份验证手动编辑/ etc / passwd和/ etc / shadow )很晚。 我已经恢复了 /etc/passwd 到以前的状态,但是在服务器上发生了奇怪的事情,例如: useradd ...

2  创建一个可以在没有用户登录的情况下执行的预定任务 - VBScript  ( To create a scheduled task which can execute without user logged on using vbsc ) 
我需要在远程计算机上执行文件,而无需登录机器。 我为同一个创建了计划任务。 PFB代码段 scheduled_task ="schtasks / create / s&lt; / sc nologon / tn install / tr c: temp msgbox1.vbs / st" &amp;小时(现在)&...

0  在域升级后,本地用户帐户消失  ( Local user account disappeared after domain upgrade ) 
我从2008 R2升级到Server 2012 R2 我有广告中的所有计算机 具有本地登录的工作站正在丢失我已设置的本地用户...(管理员登录不会消失) 这些工作站是学生计算机,不需要加入域,但我需要在组策略中管理它们 ...

0  无法使用MySQL创建的用户登录  ( Cannot log in with created user in mysql ) 
使用此命令 GRANT ALL PRIVILEGES ON *.* to brian@'%' identified by 'password'; 我尝试登录: mysql -u brian -ppassword 错误是: ERROR 1045 (28000): Access denied f...

22  如何在指定的DIR中为用户设置完全的预处处?  ( How can i set full premissions to a user in a specified dir ) 
如何在Linux中的指定目录中设置完全权限? ...

1  Active Directory成员和属性成员中的信息不一致  ( Inconsistent information in active directory members and member of properties ) 
我正在尝试在Active Directory中获取组成员的列表。我正在使用LDAP查询,但我认为这不相关。我发现了我认为在Active Directory群体会员资料中存在的不一致: 安全组 G 已使用全局范围创建。查看 G 使用广告用户和计算机MMC管理单元显示三个用户, A B <代码> C 在成员选项卡上...

0  为什么一个单独的用户用于MPI作业?  ( Why a separate user for mpi jobs ) 
与MPI设置群集的许多教程建议创建具有有限权限的单独用户( 1 , 2 )。这意味着运行作业需要登录单独的用户,并且显然是另一个步骤。 为什么这是必要的,或者它实现了什么?有没有原因 not 只需使用默认用户? (我们作为教育项目运行这个群集:完全脱机,已知用户要求的物理访问,因此简单的安全性通过安全性。) ...

0  如何将Groupofentries对象类添加到OpenLDAP  ( How to add groupofentries object class to openldap ) 
我正在研究LDAP结构的设计,基本上应该保存用户和组。 应该支持嵌套组(所以我想使用 groupOfNames 对象类),以及我将使用 inetOrgPerson 。有一个额外的条件 - 有一组目前将没有成员。 因此我的研究表明,我可以考虑使用 groupOfEntries 作为我的OpenLDAP实例中的对象类。它...

0  正确分配权限和组  ( Correctly assigning permissions groups ) 
所以我的nginx正在使用 www-data:www-data ,我想通过正确的sftp将文件部署到我的服务器。 所以我创建了一个名为 abcdefghijklmn1 的用户,并将他添加到 www-data 组。 $ id beanstalk uid=1000(beanstalk) gid=1000(beans...

0  用户数据库在Samba3到Samba4迁移到不同服务器上的迁移  ( Users database empty after samba3 to samba4 migration on different servers ) 
我必须将samba 3迁移到新的Samba 4服务器。 我的问题是Samba 3服务器上的数据库似乎是空的。 secrets.dtb文件只有20k,而"pebedit -l | wc -l" 命令给我16970行。 在我的samba3 / var / lib / samba是1,5米 在我迁移数据库后(在 http:...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有