linuxsu命令
① linux的Sudosu授权命令详解
由于Ubuntu是基于Debian的操作系统,在默认的情况下,是没有超级用户(superuser, root)的,但有些系统操作必须有超级用户的权限才能进行,如手动释放内存等。当遇到某些文件目录,当前用户无操作权限时,可通过以下两个方案来实现。一起去看看吧!
第一种方案:su root -c "你要执行的命令"
其实是切换用户,由当前用户切换至root用户,来执行;通过su root,可以一直使用root权限,但是要得到root密码;在其他 linux 操作系统。
第一种方案(如 Fedora,CentOS) 下,可以使用 su root 切换到超级用户。但是在Ubuntu下并不能直接执行su root命令,可以通过如下方法切换到超级用户.用 sudo passwd root 可以设置 root 的密码,之后就可以自由使用 su 命令:
【su root】,提示输入root的密码,然后即可切换至root用户;
【su root –c "你要执行的命令"】当前用户下,提升操作权限
第二种方案:sudo 命令
sudo 是 su 的加强版,意思是 do something as the supervisor。但是它也有很多限制,比如,在默认的情况下,只能在 5 分钟之内使用 root 权限。
这个方案要求你的普通用户在sudoer里面,要先修改/etc/sudoers文件,添加以下一句话:普通账户名 ALL=(ALL) ALL保存退出即可。
不管那种方案都是要输入密码的,这个是系统安全性的考虑。
注:Ubuntu的许多操作是在终端中进行的,通过sudo命令管理的文件是由root持有权限的,一般用户是无法改变的。在图形界面上,我们可以通过属性中的权限选项夹进行操作。但是一旦文件的属性显示当前用户没有读写权力时,无法在图形界面上修改权限。
② Linux下su命令与su-命令有什么区别
在Linux环境中,`su`命令与`su -`命令在功能上存在以下差异:
1. 用户和Shell环境的切换:
- `su`命令:该命令仅切换用户身份,但Shell环境保持不变。这意味着,虽然你变成了root用户,但使用的仍然是切换前用户的环境设置。
- `su -`命令:这个命令不仅切换用户身份,同时也切换到root用户的Shell环境。这种切换包括环境变量、配置文件等,确保了root用户的全局环境。
2. 工作目录的变化:
- 使用`su`命令切换后,当前工作目录通常保持不变,仍然是原始用户的工作目录。
- 使用`su -`命令切换后,当前工作目录会切换到root用户的主目录。
3. 环境配置文件的读取:
- `su`命令不会读取目标用户的环境配置文件,因此可能会遇到环境变量不正确或命令找不到的问题。
- `su -`命令则会读取目标用户的环境配置文件,确保环境变量和路径设置正确。
4. 使用`service`命令的能力:
- 当你使用`su root`切换到root用户时,通常无法直接使用`service`命令,因为它依赖于特定的环境变量和配置。
- 使用`su -`命令切换后,由于环境配置正确,你可以使用`service`命令。
5. 环境变量的差异:
- `su`命令切换后,环境变量`PATH`通常不会改变,可能会导致某些root用户才能执行的命令无法找到。
- `su -`命令切换后,环境变量`PATH`会被更改为root用户的`PATH`,使得所有root用户能够使用的命令都可以正常执行。
总结来说,`su -`命令提供了更加完整的root用户体验,因为它确保了环境变量和路径的正确性,而`su`命令则是一个更轻量级的切换选项,适合只需要执行个别root权限命令的情况。
③ linux 切换用户名的方法
1、Linux系统中用户切换的命令为su,su是switch user切换用户的缩写。可以是从普通用户切换到root用户,也可以是从root用户切换到普通用户。从普通用户切换到root用户需要输入密码,从root用户切换到普通用户不需要输入密码。
命令格式:su [参数] [-] [用户名]
用户名的默认值为root。
用法示例:
su #切换到用户
su #切换到root用户
2. su [user] 和 su - [user]的区别:
su [user]切换到其他用户,但是不切换环境变量,su - [user]则是完整的切换到新的用户环境。
如:
[root@rac1 ~]# pwd --当前目录
/root
[root@rac1 ~]# su oracle --使用su [user]
[oracle@rac1 root]$ pwd --当前目录没有改变,还是之前的用户目录
/root
[oracle@rac1 root]$ su - oracle --使用su - [user]
Password:
[oracle@rac1 ~]$ pwd --当前目录变为当前用户的家目录
/home/oracle
[oracle@rac1 ~]$