Linxu常用命令(三)

                        Linxu用户切换     远程拷贝

su命令
语法:su(选项)(参数)
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码

选项:
-c<指令>或–command=<指令>:执行完指定的指令后,即恢复原来的身份;
-l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
-m,-p或–preserve-environment:变更身份时,不要变更环境变量;

su -c ls root  变更帐号为root并在执行ls指令后退出变回原使用者

su命令与su -的区别
su 是切换到其他用户,但是不切换环境变量(比如说那些export命令查看一下,就知道两个命令的区别了)

su - 是完整的切换到一个用户环境
所以尽量使用第二种
这里写图片描述

su和sudo的区别
由于su 对切换到超级权限用户root后,权限的无限制性,所以su并不能担任多个管理员所管理的系统。如果用su 来切换到超级用户来管理系统,也不能明确哪些工作是由哪个管理员进行的操作。特别是对于服务器的管理有多人参与管理时,最好是针对每个管理员的技术特长和 管理范围,并且有针对性的下放给权限,并且约定其使用哪些工具来完成与其相关的工作,这时我们就有必要用到 sudo。

通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo 相对于权限无限制性的su来说,还是比较安全的,所以sudo 也能被称为受限制的su ;另外sudo 是需要授权许可的,所以也被称为授权许可的su;

sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权;

这里写图片描述
第一列root不用多说,是用户账号,第二列的ALL意思是登陆者的来源主机名,第三列等号右边小括号里的ALL是代表能够切换的身份。第四列ALL是可运行的命令。

scp命令
语法:su (选项) (参数)
scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

选项:
-r:以递归方式复制。
-P:指定远程主机的端口号;

scp [email protected]:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/ 从远处复制文件到本地目录
从10.10.10.10机器上的/opt/soft/的目录中下载nginx-0.5.38.tar.gz 文件到本地/opt/soft/目录中。

scp -r [email protected]:/opt/soft/mongodb /opt/soft/   从10.10.10.10机器上的/opt/soft/中下载
mongodb目录到本地的/opt/soft/目录来。

scp /opt/soft/nginx-0.5.38.tar.gz [email protected]:/opt/soft/scptest  复制本地/opt/soft/目录下
的文件nginx-0.5.38.tar.gz到远程机器10.10.10.10的opt/soft/scptest目录。

scp -r /opt/soft/mongodb [email protected]:/opt/soft/scptest   上传本地目录/opt/soft/mongodb到
远程机器10.10.10.10上/opt/soft/scptest的目录中去。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章