本文共 1465 字,大约阅读时间需要 4 分钟。
一、su命令
su命令用于切换当前用户身份到其他用户身份。有点像windows下的注销再登陆。命令语法:su -选项 - 用户名选项:-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;-f:适用于csh与tsch,使shell不用去读取启动文件;-l:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;-m,-p或--preserve-environment:变更身份时,不要变更环境变量;-s<shell>或--shell=<shell>:指定要执行的shell;示例:1、切换到其他用户身份,包括更改至其家目录,shell。注意圈内的横杠不能少,否侧切换后仍然在root的家目录下。2、以其他用户身份执行一条命令
注意我们以用户xuexi1的身份新建了一个txt,他与其他root用户建立的文件的属主的区别。3、切换到一个没有家目录的用户及解决无shell配置文件的问题
先新建一个无家目录的用户切换后发现没有shell首先切换回root给这个用户新建家目录然后把相关的文件拷贝过来更改下文件属组ok!su命令总结:
a、普通用户切换到root用户,可使用su -或su - root。必须输入root密码才能完成切换。b、root用户切换到普通用户,可使用“su - 普通用户名”的写法。不需要输入任何密码就能完成切换。切换到普通用户后,在执行一些命令如ifconfig时,可能会遭遇到环境变量PATH路径问题而找不到某些系统命令(一般是/sbin,/usr/sbin等下面的命令),这时就需要将普通用户的PATH,配置成root的PATH内容。c、如果仅希望在某用户下执行命令,而不直接切换到该用户下操作,可以使用 su - 用户名 -c "命令"的方式。二、sudo命令
sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。使用该命令必须首先运行visudo命令配置sudo文件。
使用visudo命令进入系统的配置文件,找到root ALL(ALL)行,其中第一个是你要授权的目标,可以是用户,也可以是用户组,中间这个不要动(具体含义待深入研究),第三列中的ALL改成你想要这个用户可以执行的命令,比如(此处与教材有出入!)注意命令之间用","隔开,逗号前要有一个空格,命令要用绝对路径。然后可以:wq保存了,visudo还会帮你校验语法。示例:
1、使用user2用户使用sudo命令没权限sudo2、如果给用户授权了su命令 ,那么可以用sudo su -命令切换到root你直接用这条命令会提示输入root用户密码。sudo su -,只用user2的密码就能切换到root了。三、限制root远程登录
注意,只能限制sshd远程登陆,本地无法限制root登陆1、更改sshd的config文件2、找到permitrootlogin项把他改成no并删掉前面的#号使他生效。3、重启sshd服务这时你就不能再用远程直接登陆root账户了。转载于:https://blog.51cto.com/11934539/2055339