linux sudo yum命令详解,每天一个Linux命令之sudo命令详解

Linux系统的sudo命令是切换用户身份的命令。下面由学习啦小编为大家整理了每天一个Linux命令之sudo命令详解,希望对大家有帮助!

每天一个Linux命令之sudo命令详解

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

语法

sudo(选项)(参数)

选项

-b:在后台执行指令;

-h:显示帮助;

-H:将HOME环境变量设为新身份的HOME环境变量;

-k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。

-l:列出目前用户可执行与无法执行的指令;

-p:改变询问密码的提示符号;

-s:执行指定的shell;

-u:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;

-v:延长密码有效期限5分钟;

-V :显示版本信息。

参数

指令:需要运行的指令和对应的参数。

每天一个Linux命令之sudo命令特点

sudo扮演的角色注定了它要在安全方面格外谨慎,否则就会导致非法用户攫取root权限。同时,它还要兼顾易用性,让系统管理员能够更有效,更方便地使用它。sudo设计者的宗旨是:给用户尽可能少的权限但仍允许完成他们的工作。所以,sudo

有以下特点:

# 1. sudo能够限制指定用户在指定主机上运行某些命令。

# 2. sudo可以提供日志,忠实地记录每个用户使用sudo做了些什么,并且能将日志传到中心主机或者日志服务器。

# 3. sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机。它默认的存放位置是/etc/sudoers。

# 4.sudo使用时间戳文件来完成类似“检票”的系统。当用户执行sudo并且输入密码后,用户获得了一张默认存活期为5分钟的“入场券”(默认值可以在编译的时候改变)。超时以后,用户必须重新输入密码。

每天一个Linux命令之sudo命令实例

1)[sunmeng@localhost Desktop]$ sudo -u root yum install mysql-devel        指定用户名

[sunmeng@localhost Desktop]$ sudo -u root yum install mysql-devel                  -u参数比较有用的地方是在多用户时,可以临时获得权限打开用户独占的文件

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

* base: mirrors.cqu.edu.cn

* extras: mirrors.cqu.edu.cn

* updates: mirrors.cqu.edu.cn

正在解决依赖关系

--> 正在检查事务

......

--> 解决依赖关系完成

依赖关系解决

=============================================================================================================

Package 架构 版本 源 大小

=============================================================================================================

正在安装:

mariadb-devel x86_64 1:5.5.47-1.el7_2

......

作为依赖被升级:

krb5-libs.x86_64 0:1.13.2-12.el7_2 krb5-workstation.x86_64 0:1.13.2-12.el7_2

openssl.x86_64 1:1.0.1e-51.el7_2.5 openssl-libs.x86_64 1:1.0.1e-51.el7_2.5

pcre.x86_64 0:8.32-15.el7_2.1 zlib.x86_64 0:1.2.7-15.el7

完毕!

2)sudo命令与rpm命令结合使用的几个例子

[sunmeng@localhost Desktop]$ sudo rpm -q MySQL-embedded-5.5.28-1.linux2.6.i386.rpm

[sudo] password for sunmeng:

未安装软件包 MySQL-embedded-5.5.28-1.linux2.6.i386.rpm

[sunmeng@localhost Desktop]$ sudo rpm -qpR MySQL-embedded-5.5.28-1.linux2.6.i386.rpm

MySQL-devel

libaio.so.1

libaio.so.1(LIBAIO_0.1)

libaio.so.1(LIBAIO_0.4)

libc.so.6

libc.so.6(GLIBC_2.0)

libc.so.6(GLIBC_2.1)

libc.so.6(GLIBC_2.1.3)

libc.so.6(GLIBC_2.2)

libc.so.6(GLIBC_2.3)

libc.so.6(GLIBC_2.3.3)

libcrypt.so.1

libcrypt.so.1(GLIBC_2.0)

libdl.so.2

libdl.so.2(GLIBC_2.0)

libdl.so.2(GLIBC_2.1)

libm.so.6

libm.so.6(GLIBC_2.0)

libm.so.6(GLIBC_2.1)

libncurses.so.5

libpthread.so.0

libpthread.so.0(GLIBC_2.0)

libpthread.so.0(GLIBC_2.1)

libpthread.so.0(GLIBC_2.2)

libpthread.so.0(GLIBC_2.3.2)

librt.so.1

librt.so.1(GLIBC_2.2)

rpmlib(CompressedFileNames) <= 3.0.4-1

rpmlib(PayloadFilesHavePrefix) <= 4.0-1

3)[sunmeng@localhost Desktop]$ sudo -l        列出用户可以执行的命令

[sunmeng@localhost Desktop]$ sudo -l

匹配此主机上 sunmeng 的默认条目:

requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC

KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",

env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME

LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",

secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

用户 sunmeng 可以在该主机上运行以下命令:

(ALL) ALL

4[root@localhost Desktop]# sudo -i           以目标身份登录一个shell

[root@localhost Desktop]# sudo -i

[root@localhost ~]# sudo -i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值