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


相关文章
|
存储 程序员
【汇编】“转移”综述、操作符offset、jmp指令
【汇编】“转移”综述、操作符offset、jmp指令
741 1
|
JSON 网络协议 Go
golang使用resty库实现模拟请求正方教务
本文主要讲解了如何使用golang模拟请求正方教务
636 0
|
缓存 API 数据格式
gin框架学习-HTTP请求
POST 请求的参数一般通过 body 传递给服务器. body 中的数据格式有很多种。
515 0
gin框架学习-HTTP请求
|
8月前
|
人工智能 算法 数据处理
InternLM3开源发布!4T数据达到18T效果,成本省75%,首度融合深度思考与对话能力!
1月15日,上海人工智能实验室对书生大模型进行重要版本升级,书生·浦语3.0(InternLM3)通过精炼数据框架,大幅提升了数据效率,并实现思维密度的跃升。仅使用4T训练数据的InternLM3-8B-Instruct,其综合性能超过了同量级开源模型,节约训练成本75%以上;同时,InternLM3首次在通用模型中实现了常规对话与深度思考能力融合,可应对更多真实使用场景。
285 1
|
12月前
|
机器学习/深度学习 人工智能 自动驾驶
5G NR:下一代移动通信的基石
5G NR:下一代移动通信的基石
1109 1
|
缓存 前端开发 Linux
哇塞!NPM 缓存竟成开发拦路虎?快来掌握清空秘籍,开启前端开发逆袭之旅!
【8月更文挑战第20天】NPM是前端开发中管理依赖的关键工具。有时需清空其缓存以解决版本不一致或包损坏等问题,确保使用最新依赖。可通过命令`npm cache clean --force`强制清空全部缓存,或手动删除各系统下的缓存文件夹。注意清空缓存可能延长后续安装时间,建议事先备份依赖或确保可重新安装。正确管理缓存有助于提升开发效率。
507 1
|
安全 Windows Linux
2023国赛信息安全管理与评估样题及规程解读
2023国赛信息安全管理与评估样题及规程解读
2023国赛信息安全管理与评估样题及规程解读
|
SQL Java 数据库连接
IDEA开发插件有哪些值得推荐?
这篇文章介绍了IntelliJ IDEA中的一些高效插件,包括RestfulTool(用于快速定位API)、Translation(便捷的代码翻译工具)、Alibaba Java Coding Guidelines(代码规范检查)、Free MyBatis Tool(增强MyBatis开发体验)和Mybatis Log(SQL日志查看)。此外,还提到了Vue.js插件以及可选装的Grep Console(控制台日志分析)、Maven Helper(解决Maven依赖冲突)和Private Notes(源码注释管理)。作者提醒,虽然插件有用,但过多会影响IDE性能,应注重质量而非数量。
276 1
|
机器学习/深度学习 算法
通俗易懂说模型——RNN
要理解RNN出现的原因,我们必须要理解CNN存在的缺点
|
网络协议 网络安全 网络虚拟化
网络技术基础(4)——IP地址规划
【2月更文挑战第8天】网络基础笔记