当前位置: 首页 > news >正文

3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

  • 3.7 su命令
  • 3.8 sudo命令
  • 3.9 限制root远程登录

 

su命令

切换用户

[root@centos_1 ~]# su - xiaobo

 

[root@centos_1 ~]# su - xiaobo

最后一次失败的登录:二 11月 21 01:43:41 CST 2017pts/0 上

最有一次成功登录后有 1 次失败的登录尝试。

[xiaobo@centos_1 ~]$ whoami

xiaobo

[xiaobo@centos_1 ~]$ id

uid=1009(xiaobo) gid=1009(xiaobo) 组=1009(xiaobo),1010(grp2)

 

 

其中 -c的意思是彻底切换

 

不切换到xiaobo用户,在root用户下使用xiaobo用户的身份来执行

[root@centos_1 ~]# su - -c "touch /tmp/xiaobo.111" xiaobo

 

[root@centos_1 ~]# ls -lt /tmp/ |head

总用量 128

-rw-rw-r--  1 xiaobo xiaobo      0 11月 21 18:11 xiaobo.111

 

[root@centos_1 ~]# id xiaobo

uid=1009(xiaobo) gid=1009(xiaobo) 组=1009(xiaobo),1010(grp2)

 

 

 

例子:

[root@centos_1 ~]# su - xiaoming

上一次登录:三 11月 29 19:46:31 CST 2017pts/0 上

su: 警告:无法更改到 /home/xiaoming 目录: 没有那个文件或目录

-bash-4.2$ 

 

 

-bash-4.2$ 

显示成这个样子的原因是没有家目录的配置文件:

 

su: 警告:无法更改到 /home/xiaoming 目录: 没有那个文件或目录

没有xiaoming家目录,创建xiaoming家目录:

mkdir    /home/xiaoming

 

 

-bash-4.2$ id xiaoming

uid=1010(xiaoming) gid=1011(xiaoming) 组=1011(xiaoming)

 

 

然后更改权限:

chown xiaoming:xiaoming  /home/xiaoming

 

切换到xiaoming用户还是不行:

[root@centos_1 ~]# su - xiaoming

上一次登录:三 11月 29 19:48:40 CST 2017pts/0 上

-bash-4.2$ 

 

因为少了xiaoming家目录的配置文件

[root@centos_1 ~]# ls -la /home/xiaoming/

总用量 0

drwxr-xr-x  2 xiaoming xiaoming  6 11月 29 19:52 .

drwxr-xr-x. 4 root     root     36 11月 29 19:52 ..

 

例如这样的配置文件:

[root@centos_1 ~]# ls -la /home/xiaobo/

总用量 16

drwx------  2 xiaobo xiaobo  83 11月 21 18:09 .

drwxr-xr-x. 4 root   root    36 11月 29 19:52 ..

-rw-------  1 xiaobo xiaobo  10 11月 21 18:09 .bash_history

-rw-r--r--  1 xiaobo xiaobo  18 8月   3 05:11 .bash_logout

-rw-r--r--  1 xiaobo xiaobo 193 8月   3 05:11 .bash_profile

-rw-r--r--  1 xiaobo xiaobo 231 8月   3 05:11 .bashrc

 

 

 

系统有一个模板目录,可以拷贝一下到xiaoming家目录:

[root@centos_1 ~]# ls -la /etc/skel/

总用量 24

drwxr-xr-x.  2 root root   62 11月  9 15:58 .

drwxr-xr-x. 74 root root 8192 11月 29 19:46 ..

-rw-r--r--.  1 root root   18 8月   3 05:11 .bash_logout

-rw-r--r--.  1 root root  193 8月   3 05:11 .bash_profile

-rw-r--r--.  1 root root  231 8月   3 05:11 .bashrc

 

 

cp /etc/skel/.bash*  /home/xiaoming

[root@centos_1 ~]# cp /etc/skel/.bash* /home/xiaoming/

更改下权限(用户和所有组)

[root@centos_1 ~]# chown -R xiaoming:xiaoming !$

chown -R xiaoming:xiaoming /home/xiaoming/

[root@centos_1 ~]# ls -ld /home/xiaoming/

drwxr-xr-x 2 xiaoming xiaoming 62 11月 29 19:59 /home/xiaoming/

 

切换xiaoming用户,就显示正常了:

su  - xiaoming

[root@centos_1 ~]# su - xiaoming

上一次登录:三 11月 29 19:53:03 CST 2017pts/0 上

[xiaoming@centos_1 ~]$ 

 

 

普通用户切换到root

su  - root

[xiaoming@centos_1 ~]$ su -

密码:

上一次登录:三 11月 29 19:48:05 CST 2017pts/0 上

 

 sudo命令

sudo给普通用户授权root用户的身份。

 

visudo打开sudo的配置文件"/etc/sudoers.tmp" 112L, 3938C

 

 

最核心的部分:

 

 

 

ALL  指的是在哪里

(ALL)指的是主机用户

后面的ALL 表示所有的命令,也可以自定义命令

 

正常情况下,普通用户ls root/目录是没有权限的

 

第一次执行需要输入密码,第二次就不用输入密码

 

 

 

 

不让用户输入密码

 

 

切换到user1

[root@centos_1 ~]# su - user1

上一次登录:二 11月 21 01:28:52 CST 2017pts/0 上

su: 警告:无法更改到 /home/user1 目录: 没有那个文件或目录

-bash-4.2$ su root

密码:

[root@centos_1 ~]# mkdir /home/user1

[root@centos_1 ~]# cp /etc/skel/.bash* !$

cp /etc/skel/.bash* /home/user1

[root@centos_1 ~]# chown  user1:user1 /home/user1

[root@centos_1 ~]# su - user1

上一次登录:三 11月 29 20:50:31 CST 2017pts/0 上

[user1@centos_1 ~]$ 

 

 

 

 

 

模仿设置别名:

 

 

 

 

 

测试

[xiaobo@centos_1 ~]$ sudo ls /root

[sudo] xiaobo 的密码:

111  1.txt.bak anaconda-ks.cfg.1  xiaobo

[xiaobo@centos_1 ~]$ sudo cat /root/1.txt.bak

 

 

用户组

就是说,一些用户用到了同样的命令,可以把这些命令放到一个用户组里,对用户组进行操作。

例如:$wheel用户组

 

 

 

 限制root远程登录

禁止root密码登录,普通用户获取sudo权限

 

设置用户alias

 

 

 

 

测试:

 

 

 

vi  /etc/ssh/sshd_config

[root@centos_1 xiaobo]# vi  /etc/ssh/sshd_config 

限制掉root远程登录

 

 

重启服务

[root@centos_1 xiaobo]# systemctl  restart sshd.service

 

然后以普通用户身份登录后切换root登录

 

 

 

备注:

可以给普通用户设置部分权限,不要全部授予权限。

禁用掉root用户登录后:

可以给一个用户授予sudo权限,之后自己用这个用户切换到root用户下。或者都不给普通用户sudo权限,自己实体机登录root,不远程登录。

然后其他用户授予部分权限。

 

相关文章:

  • 当微信小程序遇上filter~
  • webpack 简单使用
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • wireshark使用教程
  • 移动端高清、多屏适配方案
  • Java线程池
  • Ubuntu中,加速软件下载和安装的方法
  • Exchange批量获取虚拟目录的内部和外部URL
  • nginx upstream(基于TCP转发)的负载均衡搭建
  • 1.7. Apache Bloodhound
  • IM即时通讯项目讲解(一) 实现类似qq微信表情面板无缝切换
  • 24.5. IN / NOT IN
  • 集合学习
  • [SSL: CERTIFICATE_VERIFY_FAILED] Certificate Verif
  • 单调、加班、血汗工厂,被夸大的富士康背后真相到底是什么?
  • 自己简单写的 事件订阅机制
  • 【comparator, comparable】小总结
  • ES6系统学习----从Apollo Client看解构赋值
  • go append函数以及写入
  • Go 语言编译器的 //go: 详解
  • Octave 入门
  • oschina
  • php的插入排序,通过双层for循环
  • Protobuf3语言指南
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • 基于 Babel 的 npm 包最小化设置
  • 浏览器缓存机制分析
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 我的业余项目总结
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (7)STL算法之交换赋值
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (搬运以学习)flask 上下文的实现
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (分类)KNN算法- 参数调优
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转) 深度模型优化性能 调参
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • *Django中的Ajax 纯js的书写样式1
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .net 设置默认首页
  • .NET关于 跳过SSL中遇到的问题
  • .NET命名规范和开发约定
  • .Net中ListT 泛型转成DataTable、DataSet
  • [AR Foundation] 人脸检测的流程
  • [autojs]逍遥模拟器和vscode对接
  • [BZOJ1040][P2607][ZJOI2008]骑士[树形DP+基环树]