用户身份切换

su命令

命令 su
语法 : su [-] username
后面能够跟“-”,也能够不跟。普通用户 su 不加 username 时就是切换到 root 用户,固然 root 用户一样能够 su 到普通用户。 ―-‖这个字符的做用是,加上后会初始化当前用户的各类环境变量,。下面作个简单的实验来讲明加与不加“-”的区别:shell

若是不加“-”切换到 root 帐户下时,当前目录没有变化。而加上“-”切换到 root 帐户后,当前目录为 root帐户的家目录。这跟直接登陆 root 帐户是同样的。当用 root 切换普通用户时,是不须要输入密码的。ssh

sudo命令

语法: sudo (选项) (参数)
选项: (该部分只作了解)
-b:在后台执行指令;
-h:显示帮助;
-H:将HOME环境变量设为新身份的HOME环境变量;
-k:结束密码的有效期限,也就是下次再执行sudo时便须要输入密码;
-l:列出目前用户可执行与没法执行的指令;
-p:改变询问密码的提示符号;
-s:执行指定的shell;
-u<用户>:以指定的用户做为新的身份。若不加上此参数,则预设以root做为新的身份;
-v:延长密码有效期限5分钟;
-V :显示版本信息。spa

用来以其余身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经受权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,以后有5分钟的有效期限,超过时限则必须从新输入密码。ip

sudo文件配置

  默认 root 可以 sudo,是由于这个文件中有一行―root ALL=(ALL) ALL‖。在该行下面加入“test ALL=(ALL) ALL”就可让 test 用户拥有了 sudo 的权利。这一行能够说是核心配置,该配置分为三部分,最左侧是用户名,指定哪一个用户将拥有 sudo 的权利,第二部分左边的 ALL 实际上是一个用户名,即test 用户能够切换到哪一个用户的身份,若是是 ALL 就表示全部用户。小括号里面指定主机名或者主机 IP,即, test 用户从哪一个 ip 登陆来的, ALL 就是全部。最后面那个 ALL,用来指定 test 用户可使用的命令都有哪些, ALL 就是所有命令均可以。若是是多个命令,用英文逗号隔开。使用“visudo”命令编辑/etc/sudoers配置文件,其实它的操做方法和前面介绍的―vi‖命令使用方法是同样的,按 i 进入编辑模式,编辑完成后,按“Esc”,再输入:wq 完成保存。该配置文件修改后不用重启任何服务便可生效。it

因为切换到 test 帐户后的当前目录依旧是在/root 下, test 帐户没有任何权限,因此 ls 的时候提示说权限不够。然而使用 sudo ls 输入 test 帐户自身的密码后就有权限了。初次使用 sudo 时会有上面的一大段提示,然后再次使用 sudo 命令则再也不提示。test

把想让有 sudo 权利的全部用户加入到 wheel 这个组中:登录

限制root远程登陆

该方法只适用于经过ssh远程登陆Linux的时候。修改配置文件vi /etc/ssh/sshd_config,修改“#PermitRootLogin yes”为“PermitRootLogin no”,即不容许root远程登陆。后台

相关文章
相关标签/搜索