su&sudo

su - run a shell with substitute user and group IDs

su -l USERNAME

su命令和su - 命令有本质的区别,前者只是切换了root身份,但shell仍然是普通用户的shell;而后者连同用户和shell环境都切换成root了。只有切换了shell环境才不会导致环境变量引用错误。

sudo: sudo这个命令设计初的主要目的是为了使某些用户具有特定的权限,从而完成其他普通用户无法实现的功能。

1、授权指定用户在指定主机上运行指定的管理命令;

2、详细记录用户基于sudo执行命令的相关日志信息;

3、“检票系统”:时效性认证;用户第一次执行sudo时会要求输入密码来验正用户身份,成功后用户会获得一个有固定存活时长的“令牌”:5分钟;

如何实现sudo的功能?我们通过授权文件/etc/sudoers

注意:仅管理员拥有编辑权限;而且不建议使用编辑器编辑;有专用的编辑工具visudo

直接visudo后面不接任何参数,会直接打开/etc/sudoers:

/etc/sudoers:

包含的内容:别名定义、授权

授权:

WHO HOST=(WHOM) COMMAND

例如:centos ALL=(root) /usr/sbin/useradd

WHO HOST=(WHOM) NOPASSWD: CMND1, CMND2

PASSWD: 标签后的所有命令在使用时都需要“检票”;

NOPASSWD: 标签后的所有命令在使用时都无需“检票”;

别名:

别名名称:必须使用全大写字符;

WHO: User_Alias

HOST: Host_Alias

WHOM: Runas_Alias

COMMAND:Cmnd_Alias

User_Alias:

User_Alias NAME = item1, item2, ...

item:

用户名:如centos

%组名:如netadmins,是为系统组;

#UID:如#500

$#GID: 如$#501

Host_Alias NAME = item1, item2, ...

ALL: 所有主机

item:

hostname

ip

network

Host_Alias  可以嵌套

例如:Host_Alias MYNET = 127.0.0.1, 172.16.0.0/16

Runas_Alias NAME = item1, item2, ...

ALL: 所有用户

Cmnd_Alias:

Cmnd_Alias NAME = item1, item2, ...

item:

命令文件路径

目录(意味授权此目录下的所有命令)

"sudoedit" (编辑sudoers文件)

sudo命令:被授权用户应该以sudo命令来运行被授权运行的命令

sudo [OPTIONS] COMMAND

-l: 查看当前用户可执行的sudo命令

-k: 清除此前记忆下的“令牌”

-u USERNAME COMMAND:以指定用户运行COMMAND命令

1、授权centos用户可以运行fdisk命令完成磁盘管理,以及使用mkfs或mke2fs实现文件系统管理

  • [[email protected] ~]# useradd  centos
  • [[email protected] ~]#echo 123  |passwd --stdin centos
  • [[email protected] ~]#visudo  添加如下内容

    centos ALL=(root)  /sbin/fdisk, /sbin/mkfs,  /sbin/mke2fs

  • 使用[[email protected] ~]$ sudo -l

  • 使用[[email protected] ~]$ sudo fdisk /dev/sda1命令验证

2、授权gentoo用户可以运行逻辑卷管理的相关命令

由于此题涉及的命令过多,所以此处使用Command Aliases功能。

[[email protected] ~]$ sudo pvs   验证没有问题

PV         VG   Fmt  Attr PSize  PFree

/dev/sda6  myvg lvm2 a--  20.00g 10.00g

su&sudo

时间: 2024-10-12 04:48:10

su&sudo的相关文章

su ,sudo,TCP_Wrappers的相关命令用法及PAM认证机构

su,sudo,TCP_Wrappers的相关命令用法及PAM认证机构 su 切换身份:su –l  username –c  'command' sudo 来自sudo包 man 5 sudoers sudo能够授权指定用户在指定主机上运行某些命令.如果 未授权用户尝试使用 sudo,会提示联系管理员 sudo可以提供日志,记录每个用户使用sudo操作 sudo为系统管理员提供配置文件,允许系统管理员集中地 管理用户的使用权限和使用的主机 sudo使用时间戳文件来完成类似"检票"的系

② su;su -;sudo;sudo -i;sudo su;sudo su - 之间的区别

今天我们来聊聊su;su -;sudo;sudo -i;sudo su;sudo su -他们之间的区别. su :su 在不加任何参数,默认为切换到root用户,但没有转到root用户家目录下,也就是说这时虽然是切换为root用户了,但并没有改变工作目录和环境变量: su 加参数 -(-实际上是–login的缩写,等同于su --login) ,表示默认切换到root用户,并且改变到root用户的环境: 虽然su命令是非常方便的用户切换工具,但是切换时都需要使用root这个无所不能的超级用户密

文件ACL&su&sudo

一.ACL(文件的访问控制列表)普通.特殊.隐藏权限都是针对某一类用户(个人.组.other),ACL个别对待(类似于"绿卡"的功能)setfacl设置getfacl查看二.su&sudosu 切换用户sudo 把特定的命令执行权限给指定用户:作用:保证普通用户可以完成特殊任务,避免root密码泄漏配置文件(/etc/sudoers)提供集中的用户管理.权限.主机参数等谁可以用(用户) :允许使用的主机=(ALL):可以执行的命令列表(绝对路径) 原文地址:https://bl

linux命令笔记su sudo df du

#id /whoami 查看当前用户 su 切换用户 #su - username "-"作用,加上后初始化当前用户的各种环境变量 切换环境变量. 不加 - 切换过去后,目录不变,PATH也不变 如下比较: su aming123 [[email protected] root]$ pwd /root [[email protected] root]$ echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr

linux su,sudo命令

linux su 命令 建议大家切换用户的时候 使用 su - root 这样,否则可能发现某些命令执行不了 关于su .su - 及 sudo的区别 请往下看 1.命令作用 su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码. 2.使用方式 su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 3.参数说明 -f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于c

ubuntu su sudo sudo–i 区别

sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码.不过有时间限制,Ubuntu默认为一次时长15分钟. su : 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为"su 账户名称".如果后面不加账户时系统默认为root账户,密码也为超级账户的密码.没有时间限制. sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令.提示输入密码时该密码为当前账户的密码.没有

su | sudo su | sudo -i

su <user> <user> <user> 需要输入user的密码,该命令改变user id,执行过后,以<user>中定义的用户运行shell,就像用<user>定义的用户远程登录后一样.唯一不同之处在于,先前user的环境变量将被保存(保存在ssh终端程序中,当执行exit后,又可以改变成先前的用户身份,并使用先前用户的环境变量) sudo -i 运行结果 PWD=/rootsudo su 运行结果 PWD=/home/用户名(当前用户主

Linux su sudo(切换用户)

命令su 语法 : su [-] username 后面可以跟 '-' 也可以不跟,普通用户su不加username时就是切换到root用户,当然root用户同样可以su到普通用户. '-' 这个字符的作用是,加上后会初始化当前用户的各种环境变量,关于环境变量这部分内容阿铭放在后面的章节中讲解. 下面阿铭做个简单的实验来说明加与不加 '-' 的区别: [[email protected] ~]$ pwd /home/test [[email protected] ~]$ su 密码: [[ema

linux su sudo命令详解

#su [OPTION] USERNAME 切换用户 [OPTION] - 变更当前的工作环境PWD 空 默认切换为root用户 默认情况下使用su只是将PAHT和用户切换为USERNAME的,并不变更PWD.使用-则和用USERNAME登陆在实质上是一样的. #sudo [OPTION] COMMAND 某用户在不切换用户的情况下以另一个用户的权限通过某个主机执行某个命令. [OPTION] -l 列出当前用户可以使用的所有sudo类命令. -k 清除认证,下次使用需输入密码.默认第一次输入密