千家信息网

sudo命令的应用的详解指南

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,接触Linux的朋友应该都接触sudo这个命令,特别是刚一接触ubuntu朋友,只要进入系统执行特殊的命令都需要在命令前加+sudo命令才能执行命令,sudo到到底是个什么神器呢?sudo是个统管一切
千家信息网最后更新 2025年01月19日sudo命令的应用的详解指南

接触Linux的朋友应该都接触sudo这个命令,特别是刚一接触ubuntu朋友,只要进入系统执行特殊的命令都需要在命令前加+sudo命令才能执行命令,sudo到到底是个什么神器呢?sudo是个统管一切的命令。它的字面意思是代表"超级用户才能做!"(super user do!) 也可以使用 su - "switch user",但是使用su方式容易将系统用户密码泄露,导致系统不安全,由于root用户权限过大,在实际生产过程中很少使用root用户直接登录系统,而是使用普通用户登录系统;但是如果普通用户要对系统进行日常维护操作时需要su到root用户,为了提高安全性,可以使用sudo授权某一用户在某一主机以某一用户身份运行某些命令;从而减少root用户密码知晓人,提高系统安全性。



sudo的优势:
①授权指定用户在指定的主机上运行指定的管理命令;
②sudo审计安全性:将一些管理命令授权给某些普通用户使用,并且还能限定其仅能够在某些主机上执行此类的命令,操作过程还会被记录与日志中,以便于日后审计;

③"检票系统":时效性认证,用户第一次执行sudo命令时会要求输入密码来验证用户身份,成功后用户会获得一个有固定存活时长的"令牌"(令牌默认存活时长为5分钟)


sudo常用参数:

##参数    -V 显示版本编号    -h 会显示版本编号及指令的使用方式说明    -l 会显示出自己(执行sudo的使用者)的权限    -v 因为sudo在第一次执行时或是在N分钟内没有执行(N预设为五)会问密码,这个参数是重新做一次确认,如果超过N    分钟,也会问密码    -k 将会强迫使用者在下一次执行sudo时问密码(不论有没有超过N分钟)    -b 将要执行的指令放在后台后台执行

使用sudo的过程:

sudo的授权文件:/etc/sudoers,只有管理员能够编辑
1、实现sudo授权的方法
①使用vim打开编辑:
可以实现文本着色,但是不能检测语法错误,不建议使用
②visudo:专用的sudoers文本编辑工具
配置完成后能够检测提示语法错误,建议使用此编辑工具进行/etc/sudoers进行编辑
帮助文档:man visudo;man visudoers

③定义sudo授权,/etc/sudoers
语法: who which_host=(whom) command
谁能以谁的身份,在那些主机上执行那些命令

sudo配置文件别名应用:

别名:Alias(都以大写字母定义)
Host_Alias:定义主机别名,使用,分隔
User_Alias:定义用户别名,可以是用户名,也可以是组名(%组名)
Cmnd_Alias:定义命令别名,可以定义不能执行的命令,使用!/usr/bin/passwd root
Runas_Alias:定义以那些用户执行
NOPASSWD:定义用户执行命令时可以不输入密码
PASSWD:定义用户执行命令时需要输入密码


sudo案例应用:

  1. 授权samlee用户拥有添加用户权限、修改密码权限,但不能修改root密码(防止用户修改root密码):

[root@rsyncmaster ~]# visudo samlee  ALL=(root)      /usr/sbin/useradd, /usr/bin/passwd, ! /usr/bin/passwd root

使用samlee登录测试:

[samlee@rsyncmaster ~]$ sudo useradd samleetest    #创建用户没有问题[sudo] password for samlee: [samlee@rsyncmaster ~]$ sudo passwd root           #无法修改root密码Sorry, user samlee is not allowed to execute '/usr/bin/passwd root' as root on rsyncmaster.samlee.com.[samlee@rsyncmaster ~]$ tail /etc/passwd | grep samleetest    #查看添加的用户samleetest:x:503:503::/home/samleetest:/bin/bash

2.sudo别名定义及别名调用

[root@rsyncmaster ~]# visudo User_Alias USERADMIN = samlee,%adminHost_Alias HOST = 172.16.0.0/16,127.0.0.1Runas_Alias ADMIN = rootCmnd_Alias COMMAND = /sbin/ifconfig,/bin/pingUSERADMIN       HOST=(ADMIN)    COMMAND

测试;samlee用户登录测试指定的相关命令:

#建立测试用户及测试组[root@rsyncmaster ~]# groupadd admin[root@rsyncmaster ~]# useradd -g admin admin[root@rsyncmaster ~]# passwd admin#使用samlee用户测试:[samlee@rsyncmaster ~]$ sudo ifconfigeth0      Link encap:Ethernet  HWaddr 00:0C:29:D3:E4:53            inet addr:172.16.100.7  Bcast:172.16.255.255  Mask:255.255.0.0          inet6 addr: fe80::20c:29ff:fed3:e453/64 Scope:Link          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          RX packets:61839 errors:0 dropped:0 overruns:0 frame:0          TX packets:60930 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:1000           RX bytes:6300546 (6.0 MiB)  TX bytes:11935948 (11.3 MiB)lo        Link encap:Local Loopback            inet addr:127.0.0.1  Mask:255.0.0.0          inet6 addr: ::1/128 Scope:Host          UP LOOPBACK RUNNING  MTU:16436  Metric:1          RX packets:4 errors:0 dropped:0 overruns:0 frame:0          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0           RX bytes:240 (240.0 b)  TX bytes:240 (240.0 b)#使用admin组用户测试:[admin@rsyncmaster ~]$ sudo ifconfigeth0      Link encap:Ethernet  HWaddr 00:0C:29:D3:E4:53            inet addr:172.16.100.7  Bcast:172.16.255.255  Mask:255.255.0.0          inet6 addr: fe80::20c:29ff:fed3:e453/64 Scope:Link          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          RX packets:62130 errors:0 dropped:0 overruns:0 frame:0          TX packets:61216 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:1000           RX bytes:6324018 (6.0 MiB)  TX bytes:11965210 (11.4 MiB)lo        Link encap:Local Loopback            inet addr:127.0.0.1  Mask:255.0.0.0          inet6 addr: ::1/128 Scope:Host          UP LOOPBACK RUNNING  MTU:16436  Metric:1          RX packets:4 errors:0 dropped:0 overruns:0 frame:0          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0           RX bytes:240 (240.0 b)  TX bytes:240 (240.0 b)


用户 命令 密码 系统 别名 测试 主机 安全 权限 登录 普通 参数 安全性 语法 身份 过程 接触 管理 输入 应用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 西城区软件开发售后保障 吴中区品质网络技术诚信经营 湖南聚宝盆网络技术 软件开发指定时间 神武手游服务器等级对照表 2020网络安全法相关论文 苹果ipad登录账号服务器出错 培训档案数据库有什么用 服务器远程桌面一闪就关闭 广东正规软件开发费用是多少 搜索有没有网络安全手抄报该写字 长子说书软件开发 服务器空闲电源管理禁用 消防主机和服务器连接图 软件开发师简答题 sqlsever修改服务器名后 对软件开发成果保密时间 石家庄软件开发价格走势 戴尔服务器温度过高一直响 网络安全义务和责任是什么 代理服务器可以查到上网记录吗 乡镇大数据库 凯丽网络安全 宿州企业软件开发外包公司 网络安全责任制度和责任追究制度 数据库生成一列顺序增量 温州工控网络安全 数据库课后习题答案施伯乐 国外服务器租用第一品牌 苹果APP更新软件开发者
0