先说一下为什么最近一直在学Linux的相关内容,其实也并没有偏离之前的想法,对于Linux的运用还是很重要的,如果连运维对服务器做了什么都不清楚还谈什么其他操作。...目录 0x01 介绍 0x02 别名 0x03 授权规则 0x04 注意事项 0x05 sudo命令用户行为日志审计 0x01 介绍 sudo的配置文件是/etc/sudoers,在sudoers中每一行就是一个规则...定义格式是这样的 User_Alias ADMINS = admin, balabala, %groupname Runas_Alias 用户身份别名即sudo允许切换到的用户身份 ?...可以看到执行权限和可以执行的命令,而且想要切换到root用户是需要密码的,这样就实现了一个简单的权限区分,比如区分开发和运营等的权限 如果我们去掉test用户,在执行sudo的时候就不会运行执行了 ?...命令用户行为日志审计 sudo命令日志审计,并不记录普通用户的普通操作,而是记录执行sudo命令的用户操作 第一个方法是,通过环境变量及rsyslog服务进行全部日志审计,这样的做的问题就是产生的信息量太大
本文介绍几个sudo常用小技能,以下介绍均基于Ubuntu 16.04 x64。...sudo简介 sudo 允许一个权限受限用户在指定的安全策略下以root用户或其它用户执行一条命令(不需要知道root用户密码也不需要切换到root用户)。...出于安全考虑,当你以sudo执行命令时,系统会为你创建一个全新的会话,这个环境中一些配置会被初始为默认值,例如PATH环境变量会被重置。 sudo并非全能,不能执行所有命令,例如:cd。...sudo执行时所有环境变量已重置为默认值 解决:修改sudo会话初始值。...cd /root # 会报:sudo: cd: command not found, 原因:sudo仅对应用程序有用,cd是linux内置命令 你可以用 sudo -s 切换到root用户,并保留当前用户环境信息
sudo 与 su 两个命令的最大区别是: sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。另外一个区别是其默认行为。...sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。 ?...sudo 一般加的是命令 sudo -i root与sudo - root、sudo -i ,sudo - ,sudo root效果相同 提示输入密码时该密码为当前账户的密码 要求执行该命令的用户必须在...sudo -i 直接运行sudo命令加-i参数,要求执行该命令的用户必须在sudoers中才可以 ? sudo su 运行sudo命令给su命令提权,运行su命令。...来自:Linux迷 链接:https://www.linuxmi.com/
1. sudo: XXX: command not found 其中,XXX 是所运行的程序命令。...问题:直接运行 XXX 程序命令时没有问题,但加上超级权限 sudo 就报错 command not found 。...原因:使用 sudo 命令时,使用的配置文件是 /etc/sudoers,查找可运行程序命令由 /etc/sudoers 文件中的 secure_path 环境变量指定,所以即使系统环境变量 PATH...中有 XXX 程序命令的路径,sudo XXX 也会报错。...查看 /etc/sudoers 文件中的 secure_path 变量,该变量包含的所有目录下的程序命令都可以被 sudo 查看到,于是我们就可以创建程序命令 XXX 的软连接到 secure_path
sudo 与 su 命令的区别: sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。...sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。...更多可参考:Linux 命令 su 和 sudo 的区别 su 切换不同的用户的身份: 默认只是切换身份,并没有切换环境变量,环境变量依然是普通用户的。...su root 输入root密码后切换到root用户但是pwd目录不变 su - root 输入root密码后切换到root用户但是pwd目录/root sudo 命令: sudo -i root 与...sudo - root、sudo -i ,sudo - ,sudo root 效果相同 提示输入密码时该密码 为当前账户的密码,要求执行该命令的用户必须在sudoers 中才可以 su 需要的是切换后账户的密码
Linux 下使用 sudo 命令,可以让普通用户也能执行一些或者全部的 root 命令。本文就对我们常用到 sudo 操作情景进行简单分析,通过一些例子来了解 sudo 命令相关的技巧。...上面这个例子中: guohl:允许使用 sudo 的用户名 ALL:允许从任何终端(任何机器)使用 sudo (ALL):允许以任何用户执行 sudo 命令 ALL:允许 sudo 权限执行任何命令 如果我们想让用户...sudo tee % ,这样就可以 root 权限来保存文件了,你也无需因为自己一时忘记加个 sudo 而沮丧懊恼了!...情景五:sudo 操作记录日志 作为一个 Linux 系统的管理员,不仅可以让指定的用户或用户组作为root用户或其它用户来运行某些命令,还能将指定的用户所输入的命令和参数作详细的记录。...而sudo的日志功能就可以用户跟踪用户输入的命令,这不仅能增进系统的安全性,还能用来进行故障检修。但是要记录sudo的日志还要一些简单的配置: ?
Linux是一个多用户多任务操作系统,这意味着它可以同时支持多个用户登录并使用系统。但是我们之前所有的操作都是基于超级管理员root来操作的,从Linux设计来说,是不推荐的。...1.linux用户 2.linux用户组 3.Linux用户-su命令 4.Linux用户-sudo命令(本章节) 上一章,我们讲了使用su命令切换到root权限进行操作,本章节继续讲解sudo命令来临时提权...sudo 是类 Unix 系统(如Linux、BSD等)中的一个命令,用于允许授权用户以另一个用户的身份执行命令。...示例用法: 执行需要 root 权限的命令: sudo yum updae 这会使用 sudo 命令以 root 权限执行 yum update 命令,从而更新系统软件包列表。...按照上面的配置,是所有的命令都可以执行,也可以做更精细化的配置,让普通用户只能执行特定的sudo命令。 普通用户使用sudo命令,默认是需要使用当前用户的密码的。也可以配置让它免密。
Linux中默认权限 umask 查看默认权限 0022 第一位0表示文件特殊权限 022表示文件默认权限 文件权限 默认的权限就是文件创建后就拥有的权限 文件默认不能建立可执行文件,必须手工赋予执行权限...永久修改在vi /etc/profile中进行修改 sudo root把本来只有超级管理员可以使用的命令赋予普通用户来使用 sudo操作的对象是系统命令 visudo 通过visudo可以由超级用户赋值
sudo权限委派介绍 su 切换身份:su –l username –c ‘command’ sudo 来自sudo包 man 5 sudoers sudo能够授权指定用户在指定主机上运行某些命令。...如果未授权用户尝试使 用 sudo,会提示联系管理员 sudo可以提供日志,记录每个用户使用sudo操作 sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机 sudo使用时间戳文件来完成类似...因此,我编写脚本来自动化这些任务,并使用sudo来指定几个用户来运行这些脚本。许多Linux命令要求用户是root用户才能运行。这可以保护系统免受意外损坏,比如我自己的愚蠢和恶意用户的故意破坏。...myprog sudo程序检查/etc/sudoers文件并验证ruser是否允许运行myprog。如果是这样的话,sudo请求用户输入他们的密码-而不是根密码。...它还提供了一种通过sudo创建的日志条目监视其活动的方法。某些发行版(如Ubuntu)将用户ID添加到/etc/group,它允许他们使用sudo命令,用于所有特权命令。
基本语法: $ sudo [-u username] [command] -u:将身份变成username的身份 #编辑/etc/sudoers (注意,这里使用 visudo 而不是 vi 来设置...This setting should also be # changed in order to be able to use sudo without a tty....因此,如果想要让这部主机里头的一般身份使用者具有sudo 的使用权限,那么就必需将该 user 放入支持 wheel 这个群组里头!...[sudo] password for laiyu: Sorry, try again....~]# sudo usage: sudo -h | -K | -k | -L | -V usage: sudo -v [-AknS] [-g groupname|#gid] [-p prompt] [
如果要执行root权限的命令需要用到sudo,需要输入sudo密码,这个也好解决,使用echo可以向sudo输入密码,同时sudo要加-S参数指定从标准输入读取密码,示例如下: echo ‘sudopassword...sudo:抱歉,您必须拥有一个终端来执行 sudo sudo: sorry, you must have a tty to run sudo sudo:没有终端存在,且未指定 askpass...修改后 wq保存,记得要sudo chmod -w /etc/sudoers删除写权限 为了简化sudo命令的执行,我封装一了个CmdExceuor类,允许执行多条命令。...java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.logging.Logger; /** * linux...REDIRECT : ""; } /** * 添加一条需要sudo执行的命令 * @param cmd 要执行的命令(字符串中不需要有sudo) * @return
### sudo命令工作流程 - sudo会读取和解析/etc/sudoers文件,查找调用的用户及权限 - 提示调用该命令用户的密码,如果有`NOPASSWD`标志则跳过密码验证. - sudo会创建一个子进程...history记录是内置命令,如果你试图用sudo执行这个命令,那么会提示如下的未找到命令的错误: ``` > sudo history [sudo] password for rumenz: sudo.../sudo ---s--x--x. 1 root root 143248 Jun 28 2018 /usr/bin/sudo ``` > 如果仔细观察文件权限,则发现 sudo 上启用了setuid位...### sudo !! > Linux命令行记录以前执行的命令。可以通过按向上箭头访问这些记录。要以提升的特权重复执行最后一个命令,请使用 ``` > sudo !! ``` ### sudo !...-2 ``` 原文链接:https://rumenz.com/rumenbiji/linux-sudo-skills.html
方案一 root登录 ssh root@server_ip_address 新增用户 adduser username 设置密码 passwd username 输入两次密码 修改帐户所属分组,有的linux...中wheel分组用户默认有sudo权限 usermod -aG wheel username 确定/etc/sudoers 文件下如下行是启用的 %wheel ALL=(ALL) ALL 不在使用该功能
sudo 经常被用来将普通用户权限提升至 root 权限,代替 root 执行部分程序来管理 Linux 系统,这样避免 root 密码被泄漏 这篇文章介绍了三种利用其留后门的方法,其中也涉及一个sudo...API 说到这里就不得不谈一下 sudo 的另一个配置文件,应该说更偏向其本身行为的一个配置文件 /etc/sudo.conf,在这个配置文件中我们就可以设置 sudo 的插件(.so 共享库文件)...版本 sudo -V 下载相同版本的 sudo 程序的源代码并解压 https://www.sudo.ws/getting/source/ 注入 payload 进 sudoers.so 源代码...sudo apt install make sudo apt install libssl-dev 开始编译 sudo ....,你可以以任何名称放在任何目录,之后在 sudo.conf 中配置指定就好) 5) 测试后门效果 正常使用 sudo ,查看效果 sudo cat /etc/shadow 成功获取到 shell
判断当前用户是否有sudo权限 判断当前是否有sudo权限可以用sudo -v返回0为sudo user,否则不是。...使用示例: if sudo -v &>/dev/null; then echo $(whoami) is sudo user; else echo $(whoami) is not sudo...user; fi 判断sudo用户密码是否正确 想要判断sudo用户密码是否正确基本的原理就执行一条简单的sudo命令,用-S选项允许从stdin输入密码,看看是否能成功执行。...在执行这个sudo 命令前,先要用-k选项执行sudo,完全移除时间戳文件,否则sudo会记忆之前输入的密码,导致返回值不正确。...# 验证 sudo 密码是否正确 # $1 待验证密码 # 密码正确返回0,否则返回1 function valid_sudo_pwd(){ sudo -k echo "$1" | sudo -lS
sudo命令工作流程 sudo会读取和解析/etc/sudoers文件,查找调用的用户及权限 提示调用该命令用户的密码,如果有NOPASSWD标志则跳过密码验证. sudo会创建一个子进程,调用setuid...NOPASSWD:如果指定,则该用户或者组使用sudo时就不用输入密码 COMMANDS:表示运行指定的命令,ALL表示允许指定任何命令 # 允许 sudo 组执行所有命令 %sudo ALL=(ALL...history记录是内置命令,如果你试图用sudo执行这个命令,那么会提示如下的未找到命令的错误: > sudo history [sudo] password for rumenz: sudo:...=0(root) sudo -i sudo -i:可以切换到root状态下....sudo !! Linux命令行记录以前执行的命令。可以通过按向上箭头访问这些记录。要以提升的特权重复执行最后一个命令,请使用 > sudo !! sudo !
目录 sudo 应用场景与常识 sudo 的功能 本文由刘遄老师的《Linux就该这么学》摘抄整理而成,写成博客方便自己后期查阅 该书非常棒,语言简练,通俗易懂,非常推荐,你可以点连接去学习~...我们要做的就是合理配置sudo服务,以便兼顾系统的安全性和用户的便捷性。 sudo服务的配置原则也很简单 => 在保证普通用户完成相应工作的前提下,尽可能少地赋予额外的权限。...sudo命令用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务 格式:sudo [参数] 命令名称 sudo 指令可选参数 参数 作用 -h 列出帮助信息 -l 列出当前用户可执行的命令...-u 用户名或UID值 以指定的用户身份执行命令 -k 清空密码的有效时间,下次执行sudo时需要再次进行密码验证 -b 在后台执行指定的命令 -p 更改询问密码的提示语 sudo 的功能 总结来说...当然,如果担心直接修改配置文件会出现问题,则可以使用sudo命令提供的visudo命令来配置用户权限。(只有root管理员才可以使用visudo命令编辑sudo服务的配置文件。)
sudo命令工作流程 sudo会读取和解析/etc/sudoers文件,查找调用的用户及权限 提示调用该命令用户的密码,如果有NOPASSWD标志则跳过密码验证. sudo会创建一个子进程,调用setuid...history记录是内置命令,如果你试图用sudo执行这个命令,那么会提示如下的未找到命令的错误: > sudo history [sudo] password for rumenz: sudo:...=0(root) sudo -i sudo -i:可以切换到root状态下....sudo !! Linux命令行记录以前执行的命令。可以通过按向上箭头访问这些记录。要以提升的特权重复执行最后一个命令,请使用 > sudo !! sudo !...-2 原文链接:https://rumenz.com/rumenbiji/linux-sudo-skills.html 微信公众号:入门小站
当sudo通过 -s 或 -i 命令行选项在shell模式下运行命令时,它将在命令参数中使用反斜杠转义特殊字符。...漏洞编号:CVE-2021-3156 影响版本: Sudo 1.8.2 - 1.8.31p2 Sudo 1.9.0 - 1.9.5p1 不影响版本: Sudo => 1.9.5p2 0x02 漏洞检测...查看sudo版本 sudo --version 检测是否存在漏洞,使用普通用户执行下面的命令 sudoedit -s / 若返回如图以 sudoedit: 开头的错误,则当前系统可能存在安全风险。.../sudo-hax-me-a-sandwich ..../sudo-hax-me-a-sandwich 0 0x04 漏洞修复 目前官方已在sudo新版本1.9.5p2中修复了该漏洞,请受影响的用户尽快升级版本进行防护。
参考资料: 1、Linux .bin安装文件制作 2、dos2unix 3、linux下制作二进制bin 文件制做方法 4、shc 5、How to Encrypt Your Bash Shell...Script on Linux Using SHC
领取专属 10元无门槛券
手把手带您无忧上云