3.7 su命令

su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码,其语法为:
su - username
注意:以上命令加上-切换才彻底,否则切换后的当前目录仍然还是在切换前的用户的家目录下,并没有一并切换到自己的家目录下.
2017-12-27 Linux学习笔记
以指定用户的身份去执行一条命令,例如:
su - -c "touch /tmp/usertest.tat" usertest
2017-12-27 Linux学习笔记

系统模板目录 /etc/skel/
ls -la /etc/skel/ #查看系统模板目录
2017-12-27 Linux学习笔记
上图红框所示3个文件是初始家目录配置文件,若有用户家目录丢失,可创建家目录然后拷贝这3个文件过去,家目录就完整了.
延伸知识点:
cat /etc/redhat-release #查看发行版
2017-12-27 Linux学习笔记
uname -a #查看内核
2017-12-27 Linux学习笔记

3.8 sudo命令

sudo命令用来以其他身份来执行命令,预设的身份为root.
例如,想让普通用户执行某些root才有权限使用命令,又不想提供root密码,则可用sudo命令.
要想给某个普通用户授予用sudo命令执行root身份的能用的命令,root用户需要先编辑/etc/sudoers.tmp配置文件(此处不建议用vi打开编辑,建议用visudo命令,其原因是通过visudo命令打开系统会帮忙检查语法错误,用vi则不会),授予某普通用户相关命令权限.
案例:现有普通用户usertest,他想通过cat查看/root/helleworld文件,系统会提示"权限不够"
2017-12-27 Linux学习笔记
现在我们切换回root用户,输入visudo命令打开编辑/etc/sudoers.tmp配置文件,找到## Allow root to run any commands anywhere这一行,按i键,加入如下一行:
usertest ALL=(ALL) /usr/bin/cat
2017-12-27 Linux学习笔记
按Esc退出编辑模式,输入:wq保存退出.
这时我们再切换回usertest用户,输入如下命令:
sudo cat /root/helloworld
此时系统提示输入usertest用户自己的密码(仅首次使用时需要),输入密码后则有权限查看/root/helleworld文件了.
2017-12-27 Linux学习笔记

小技巧:
visudo #查看sudo配置文件,可检测语法错误
当用visudo查看配置文件时,输入:set nu能显示行号

3.9 限制root远程登录

某些情况下为安全起见,需要限制root的远程登录,其操作步骤如下:
输入vi /etc/ssh/sshd_config,编辑SSH配置文件
2017-12-27 Linux学习笔记
找到#PermitRootLogin yes这一行,
2017-12-27 Linux学习笔记
按i键进入编辑模式,将其改成PermitRootLogin no
2017-12-27 Linux学习笔记
按Esc退出编辑模式,输入:wq保存退出.

然后输入如下命令重启sshd服务:
systemctl restart sshd.service
此时再用root远程登录则不成功了.
2017-12-27 Linux学习笔记
延伸知识点:
要想让一个普通用户不用输入密码就能切换到root用户,可通过在/etc/sudoers.tmp文件中为相关用户设置su命令NOPASSWD的方法来实现,如下图则是设置了用户usertest,usertest2能通过sudo su - 命令直接切换到root用户.
2017-12-27 Linux学习笔记
2017-12-27 Linux学习笔记

转载于:https://blog.51cto.com/13517946/2055325

相关文章: