12月27日课程笔记 su、sudo命令及限制root远程登陆

简介:

一、su命令
su命令用于切换当前用户身份到其他用户身份。有点像windows下的注销再登陆。
命令语法:
su -选项 - 用户名
12月27日课程笔记 su、sudo命令及限制root远程登陆
选项:
-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;
-f:适用于csh与tsch,使shell不用去读取启动文件;
-l:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
-m,-p或--preserve-environment:变更身份时,不要变更环境变量;
-s<shell>或--shell=<shell>:指定要执行的shell;
示例:
1、切换到其他用户身份,包括更改至其家目录,shell。
12月27日课程笔记 su、sudo命令及限制root远程登陆
注意圈内的横杠不能少,否侧切换后仍然在root的家目录下。

2、以其他用户身份执行一条命令
12月27日课程笔记 su、sudo命令及限制root远程登陆
注意我们以用户xuexi1的身份新建了一个txt,他与其他root用户建立的文件的属主的区别。

3、切换到一个没有家目录的用户及解决无shell配置文件的问题
先新建一个无家目录的用户
12月27日课程笔记 su、sudo命令及限制root远程登陆
切换后发现没有shell
12月27日课程笔记 su、sudo命令及限制root远程登陆
首先切换回root给这个用户新建家目录
12月27日课程笔记 su、sudo命令及限制root远程登陆
然后把相关的文件拷贝过来
12月27日课程笔记 su、sudo命令及限制root远程登陆
更改下文件属组
12月27日课程笔记 su、sudo命令及限制root远程登陆
ok!
12月27日课程笔记 su、sudo命令及限制root远程登陆

su命令总结:
a、普通用户切换到root用户,可使用su -或su - root。必须输入root密码才能完成切换。
b、root用户切换到普通用户,可使用“su - 普通用户名”的写法。不需要输入任何密码就能完成切换。切换到普通用户后,在执行一些命令如ifconfig时,可能会遭遇到环境变量PATH路径问题而找不到某些系统命令(一般是/sbin,/usr/sbin等下面的命令),这时就需要将普通用户的PATH,配置成root的PATH内容。
c、如果仅希望在某用户下执行命令,而不直接切换到该用户下操作,可以使用 su - 用户名 -c "命令"的方式。

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

使用该命令必须首先运行visudo命令配置sudo文件。
使用visudo命令进入系统的配置文件,找到root ALL(ALL)行,
12月27日课程笔记 su、sudo命令及限制root远程登陆
其中第一个是你要授权的目标,可以是用户,也可以是用户组,中间这个12月27日课程笔记 su、sudo命令及限制root远程登陆不要动(具体含义待深入研究),第三列中的ALL改成你想要这个用户可以执行的命令,比如(此处与教材有出入!
12月27日课程笔记 su、sudo命令及限制root远程登陆
注意命令之间用","隔开,逗号前要有一个空格,命令要用绝对路径。
然后可以:wq保存了,visudo还会帮你校验语法。

示例:
1、使用user2用户使用sudo命令
12月27日课程笔记 su、sudo命令及限制root远程登陆
没权限
sudo
12月27日课程笔记 su、sudo命令及限制root远程登陆
2、如果给用户授权了su命令 ,那么可以用sudo su -命令切换到root
12月27日课程笔记 su、sudo命令及限制root远程登陆
你直接用这条命令会提示输入root用户密码。
12月27日课程笔记 su、sudo命令及限制root远程登陆
sudo su -,只用user2的密码就能切换到root了。
12月27日课程笔记 su、sudo命令及限制root远程登陆

三、限制root远程登录
注意,只能限制sshd远程登陆,本地无法限制root登陆
1、更改sshd的config文件
12月27日课程笔记 su、sudo命令及限制root远程登陆
2、找到permitrootlogin项把他改成no并删掉前面的#号使他生效。
12月27日课程笔记 su、sudo命令及限制root远程登陆
3、重启sshd服务
12月27日课程笔记 su、sudo命令及限制root远程登陆
这时你就不能再用远程直接登陆root账户了。
12月27日课程笔记 su、sudo命令及限制root远程登陆


 本文转自 whytl 51CTO博客,原文链接:http://blog.51cto.com/11934539/2055339


相关文章
|
人工智能 运维 Cloud Native
阿里云祝顺民:云网络领域关键技术创新
2023年10月31日,云栖大会,阿里云技术主论坛带来了一场关于阿里云主力产品与技术创新的深度解读,阿里云网络产品线负责人祝顺民带来《云智创新,网络随行》的主题发言,针对阿里云飞天洛神云网络(下文简称洛神网络)领域产品服务创新以及背后的技术积累进行了深度解读,不少背后的创新技术系首次重磅披露。
|
10月前
|
人工智能 算法 数据处理
InternLM3开源发布!4T数据达到18T效果,成本省75%,首度融合深度思考与对话能力!
1月15日,上海人工智能实验室对书生大模型进行重要版本升级,书生·浦语3.0(InternLM3)通过精炼数据框架,大幅提升了数据效率,并实现思维密度的跃升。仅使用4T训练数据的InternLM3-8B-Instruct,其综合性能超过了同量级开源模型,节约训练成本75%以上;同时,InternLM3首次在通用模型中实现了常规对话与深度思考能力融合,可应对更多真实使用场景。
334 1
|
10月前
|
人工智能 弹性计算 运维
ECS控制台,AI助手与极简管控体验
本文介绍了ECS控制台的演进及最新AI工具功能。控制台作为运维平台,需兼顾用户体验、可靠性和安全性。针对不同用户(个人开发者、企业级用户、资源管理员和架构师),控制台提供了定制化AI助手,涵盖售前选型、售中购买、售后运维等全链路支持。AI助手可智能分析用户需求,推荐合适规格,并提供实例诊断、命令解释等功能,简化操作流程。此外,还推出了简洁版控制台,优化了小资源量用户的使用体验,减少复杂度,提升效率。未来,控制台将朝着更智能、个性化的chat ops方向发展。
|
数据可视化 JavaScript API
HarmonyOS NEXT原生重榜发布-安利一款鸿蒙可视化代码生成器
鸿蒙低代码可视化开发平台是基于华为鸿蒙操作系统构建的创新开发环境,旨在通过简化开发流程、降低技术门槛,加速应用从设计到上线的全过程。它融合了低代码开发的核心理念与鸿蒙系统的技术优势,为开发者提供了一条高效、便捷的应用开发之路。
327 2
|
人工智能 算法 安全
AI与未来医疗:革命性的变化与挑战
本文探讨了人工智能在医疗领域的应用及其带来的革命性变化。通过对当前AI技术在医疗诊断、治疗和预防方面的应用案例的分析,揭示了AI在未来医疗中的潜力和面临的伦理及技术挑战。最后,本文呼吁更多的跨学科合作,以推动AI在医疗健康领域的健康发展。
|
存储 Ubuntu 算法
KNIME学习记录
KNIME学习记录
1032 0
|
安全 中间件 网络安全
OpenIM支持10万级超级大群
opeim支持十万级超级大群
682 0
OpenIM支持10万级超级大群
|
自然语言处理 算法 搜索推荐
30+热招岗位&15篇面试通关经验,给你足够底气斩获offer!
同学们,关于阿里春招的岗位需求和面试通关经验都在这里了,码住!我们能赢!
30+热招岗位&15篇面试通关经验,给你足够底气斩获offer!
|
小程序
微信小程序修改radio样式
微信小程序修改radio样式
2530 0
微信小程序修改radio样式
|
JavaScript 前端开发 API
基于阿里的Node全栈之路(三)利用阿里云OSS实现前后端分离
这个是开发上老生常谈的话题。如何利用云上资源,使项目前后端分离实现更彻底,让前端完全脱离服务器的概念,是我现在技术进阶的一部分!这次前后端分离的内容会比较多,后面还会有续集
7708 0