linux学习第十三篇:su命令,sudo命令,限制root远程登录

su命令


su - user1  //彻底切换用户,如果没有加“-”,切换用户不彻底。


su  -c  "touch /tmp/1.txt"  user1    //在不登录用户user1的情况下,以user1的身份在tmp目录下创建文件1.txt


PS:当切换到一个没有家目录的用户时,可以在root用户下

1. mkdir /home/username  //创建用户家目录

2. chown username:username /home/username   //修改username目录的所有者以及所属组

3. cp /etc/skel/.bash*  /home/username  //skel是系统模板目录,将skel目录下的.bash配置文件拷贝到username目录下

4. chown -R  username:username  /home/username/  //将目录下的子目录和文件批量的更改所有者和所有组为username

5. su - username 再次切换到该用户后就可正常使用。



sudo命令


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


visudo命令:可以查看sudo的配置文件。实际上打开的也是/etc/sudoers配置文件。PS:用vi去修改,如果有语法错误是不会检测到,用visudo有语法错误会检测到,建议使用visudo修改。








限制root远程登录


无需root用户密码,在普通用户下直接登录root用户(但是权限有点大,直接跳到root用户下,可以改用户root密码,改了密码就可以直接远程登录root)

使用命令visudo修改配置文件





把root用户远程登录的功能限制

1. vi /etc/ssh/sshd_config 

2. 在配置文件里打   /Root  搜索

3.如下图中修改


4. 修改完配置文件需重启服务,命令:systemctl  restart  sshd.service

5. 弄完之后只能远程登录普通用户,不能远程直接登录root用户。

6. 但是可以在普通用户下,根据上面visudo的配置后,使用命令:sudo su -  登录root用户。




su和sudo的区别:

su 的确为管理带来方便,通过切换到root下,能完成所有系统管理工具,只要把root的密码交给任何一个普通用户,他都能切换到root来完成所有的系统管理工作,普通用户可以通过root权限可以做任何事,这在一定程度上就对系统的安全造成了威协。

由于su 对切换到超级权限用户root后,权限的无限制性,所以su并不能担任多个管理员所管理的系统。如果用su 来切换到超级用户来管理系统,也不能明确哪些工作是由哪个管理员进行的操作。特别是对于服务器的管理有多人参与管理时,最好是针对每个管理员的技术特长和管理范围,并且有针对性的下放给权限,并且约定其使用哪些工具来完成与其相关的工作,这时我们就有必要用到 sudo。
  通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo 相对于权限无限制性的su来说,还是比较安全的,所以sudo 也能被称为受限制的su 。



扩展:

sudo与su比较 http://www.apelearn.com/bbs/thread-7467-1-1.html 

sudo配置文件样例  www.opensource.apple.com/source/sudo/sudo-16/sudo/sample.sudoers

sudo -i 也可以登录到root吗? http://www.apelearn.com/bbs/thread-6899-1-1.html 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值