用户身份切换

su命令

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

204612_Yq4p_3706800.png

如果不加“-”切换到 root 账户下时,当前目录没有变化。而加上“-”切换到 root 账户后,当前目录为 root账户的家目录。这跟直接登录 root 账户是一样的。当用 root 切换普通用户时,是不需要输入密码的。

sudo命令

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

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

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 完成保存。该配置文件修改后不用重启任何服务即可生效。

204704_fSzM_3706800.png

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

把想让有 sudo 权利的所有用户加入到 wheel 这个组中:

204724_fzjj_3706800.png

限制root远程登录

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

转载于:https://my.oschina.net/u/3706800/blog/1559498

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值