博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
12月27日课程笔记 su、sudo命令及限制root远程登陆
阅读量:7235 次
发布时间:2019-06-29

本文共 1465 字,大约阅读时间需要 4 分钟。

一、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远程登陆

转载于:https://blog.51cto.com/11934539/2055339

你可能感兴趣的文章
Linux的两种随机数生成器
查看>>
freeradius+mysql+pppoe认证
查看>>
与“十“俱进 阿里数据库运维10年演进之路
查看>>
关于运维人员的未来职业生涯
查看>>
git 学习笔记
查看>>
PostgreSQL的递归查询(with recursive)
查看>>
iOS 改变字体行间距与字间距
查看>>
美丽说2012校招笔试面试全过程
查看>>
图像处理基础(七)图像的PCA(主成分分析)降维
查看>>
Math-Model(三)高斯羽烟模型计算气体扩散浓度
查看>>
KeyMob移动聚合广告平台:APP开发者怎样将广告收益最大化
查看>>
redis-cluster研究和使用
查看>>
关于驰骋工作流引擎ccbpm 在工业自动化环境下的应用演示实例
查看>>
【序言】 高效高可靠消息服务器构建
查看>>
每天一个linux命令(6):rmdir 命令
查看>>
第六周作业
查看>>
浅谈Vim
查看>>
高端数据中心交换机散热系统大比拼
查看>>
Jira Epic在完成状态时,如何让Epic在Scrum面板待办事项中不显示?
查看>>
整理一下Entity Framework的查询
查看>>