三周第三次课 2017.11.01 su命令、sudo命令、限制root远程登录

来源:互联网 发布:淘宝网禁止黄赌毒 编辑:程序博客网 时间:2024/05/29 08:50

3.7 su命令

su:切换用户

whoami:查看当前所在用户


su后面加的“-”的作用是更彻底的切换,包括用户的配置,环境变量等,并且切换到该用户的家目录下载,如果不加的话如下图你切换到aming用户,可是你还在root目录在线。


不需要登录该用户就可以以该用户的身份执行一条命令:


切换到的用户家目录不存在的时候就会前缀就会显示不正常,并且当前目录还是没有变。


想要恢复正常,那么我们可以给它创建一个家目录,

首先查看user5的uid、gid:


然后创建家目录:


将这个目录uid和gid改的和user5一样:


然后我们给这个家目录里拷贝上配置文件,在/etc/skel/把里面.bash开头的文件都拷贝到/home/user5目录下去,并把/home/user5目录下的文件uid和gid改为为user5。


然后切换到user5就正常了。


3.8 sudo命令

当普通用户需要使用root用户的身份去执行一条命令时,如果直接给它root密码是很不安全的。那么我们可以使用sudo命令。

sudo:可以让普通用户零时以指定用户身份执行一条命令,通常情况是给普通用户授权root用户的身份。

设置方法:

使用visudo查看配置文件,实际我们打开的是/etc/sudoers.tmp这个文件,不建议用vi直接编辑它,因为vi不能检测语法错误,用visudo这个命令则可以。

打开之后往下翻,找到如下一行:意思是允许root用户运行所有的命令,在任何地方。


然后我们可以在下面再写一行,比如我们可以让aming用户在任何地方使用ls、mv、cat命令(命令要用绝对路径)


如果需要给多个用户设置,可以先把这几个用户加入到一个组里,然后在下图位置编辑:


在编辑的时候esc输入:set nu可以显示行数,便于检测出检测语法错误的时候修改。

设置好了之后我们使用sudo测试一下:(第一次使用的时候会提示输入密码)


如果觉得第一次使用密码麻烦,我们可以如下图加一个“NOPASSWD:”


还可以给多个用户设置一个虚拟的别名,


还可以给多个命令设置一个别名,


给多个命令设置一个别名,这样以后需要一起输入这几个命令的时候直接输别名就可以了。


3.9 限制root远程登录

限制root远程登录方法:

编辑/etc/ssh/sshd_config文件,找到permit开头的一行,将后面的yes改成no,改完之后使用“systemctl restart sshd_service”重启服务。

如果想要在限制root远程登录之后普通用户使用root用户身份运行命令就需要提前做如下操作。

首先我们设置用户的aliases,将aming、user5、user6设置一个总的别名


然后我们设置规则


之后我们来试一下:(普通用户不用密码就能登录到root用户)



原创粉丝点击