linux su和sudo命令使用详解

su命令即(switch user)切换到其它身份用户

su - #默认是root,如下相同
su - root #切换到root用户,并至root目录,不带-只切换用户
su -c ls root #变更帐号为root并在执行ls指令后退出变回原使用者

sudo命令即(super user do)是一种权限管理机制,依赖于/etc/sudoers.它允许授权用户以超级用户或是其他用户身份执行命令而无需知晓超级用户密码。虽然su也可以在不切换用户身份的情况下,临时以其他用户执行命令,但是需要root密码,造成了安全隐患.

sudo命令参数:

sudo [-bhHpV][-s ][-u <用户>][指令]

sudo [-klv]

参数
  -b  在后台执行指令。
  -h  显示帮助。
  -H  将HOME环境变量设为新身份的HOME环境变量。
  -k  结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。
  -l  列出目前用户可执行与无法执行的指令。
  -p  改变询问密码的提示符号。
  -s  执行指定的shell。
  -u <用户>  以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。
  -v  延长密码有效期限5分钟。
  -V  显示版本信息。
  -S   从标准输入流替代终端来获取密码

sudo命令配置(/etc/sudoers)

默认配置如下:

## root 用户可以在任意主机上以任意用户、组的权限执行任意命令,说明root用户具有最高级的权限。
root    ALL=(ALL:ALL) ALL
 
## admin组的用户都拥有最高级权限。
%admin ALL=(ALL) ALL
 
## sudo 组用户和root用户权限一样
%sudo   ALL=(ALL:ALL) ALL

更多配置:
#让用户运行命令的时候不输入密码
username ALL= NOPASSWD:/usr/sbin/useradd
 
#指定多个用户,或者组
username1,username2 ALL=/usr/sbin/useradd
 
#指定多个主机
username mail,apache=/usr/sbin/useradd
 
#指定多个被代替的用户
username ALL=(root,database) /usr/sbin/useradd
 
#指定多个命令
username ALL= /usr/sbin/useradd,/usr/sbin/usemod
 
#指定某个目录下的所有命令
username ALL= /usr/sbin/*
 
#指定排除的命令,不允许的命令前面都要加上叹号
username ALL= (root)  /usr/sbin/* !/usr/sbin/usermod,!/sbin/useradd

时间: 2024-10-25 16:41:33

linux su和sudo命令使用详解的相关文章

linux su和sudo命令的区别

一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root所拥有.解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法并不是最好的;二是我们没有必要退出beinan用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root.我们可以看到当然通过su 切换是一种比较好的

Linux的Crontab定时任务命令用法详解

一.Crontab 介绍 crontab命令的功能是在一定的时间间隔调度一些命令的执行. 1.1 /etc/crontab 文件 在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序.每个用户可以建立自己的调度crontab. 如: [root@dave ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * *

Linux实用工具的命令行详解

  这是一个确凿的事实,许多IT专业人士使用Linux命令行,即使在GUI也可用的情况下.嘿,我们的第一个Linux 命令行指南的点击量超过了5万次.但是让我们听一听来自IT专家的理由,在这个案例中,我们倾听来自工程部gotalk高级技术专家David Witham的理由. "我就靠着命令行为生.命令行给你对你所做的事情和需要完成的事情的最终控制权.如果没有命令来完成的话,你可以编写脚本或者管线来完成.使用GUI的话,所见即所得.你通常不能再构建你自己的GUI附件了.一个大的好处就是远程访问.使

Linux中的useradd命令使用详解

  1.作用 useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是终极用户. 2.格式 代码如下: useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name 3.主要参数 -c:加上备注文字,备注文字保存在passwd的备注栏中. -d:指定用户登入时的启始目录. -D:变更预设值. -e:指定账号的有效期限,缺省表示永久

linux系统下pwd命令用法详解

  Linux中用 pwd 命令来查看"当前工作目录"的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置. 1.命令格式: pwd [选项] 2.命令功能: 查看"当前工作目录"的完整路径 3.常用参数: 一般情况下不带任何参数 如果目录是链接时: 格式:pwd -P 显示出实际路径,而非使用连接(link)路径. 4.常用实例: 实例1:用 pwd 命令查看默认工作目

linux系统中iftop 命令用法详解

一.iftop是什么? iftop是类似于top的实时流量监控工具. 官方网站:http://www.ex-parrot.com/~pdw/iftop/ 二.iftop有什么用? iftop可以用来监控网卡的实时流量(可以指定网段).反向解析IP.显示端口信息等,详细的将会在后面的使用参数中说明. 三.安装iftop 安装方法1.编译安装 如果采用编译安装可以到iftop官网下载最新的源码包. 安装前需要已经安装好基本的编译所需的环境,比如make.gcc.autoconf等.安装iftop还需

linux中fdisk分区命令使用详解

在linux下,使用fdisk对硬盘分区:先删除原有分区,然后创建新的分区 1) 删除分区  代码如下 复制代码 [root@standby root]# fdisk /dev/sdc The number of cylinders for this disk is set to 4425. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause probl

Linux中的Free命令用法详解

语法 free(选项) 1.命令格式: free [参数] 2.命令功能: free 命令显示系统使用和空闲的内存情况,包括物理内存.交互区内存(swap)和内核缓冲区内存.共享内存将被忽略 3.命令参数: -b 以Byte为单位显示内存使用情况. -k 以KB为单位显示内存使用情况. -m 以MB为单位显示内存使用情况. -g   以GB为单位显示内存使用情况. -o 不显示缓冲区调节列. -s<间隔秒数> 持续观察内存使用状况. -t 显示内存总和列. -V 显示版本信息. 上面是free

linux下的free命令含义详解

最重要的是结果中各个参数的含义,这里简单的罗列如下: ①Mem就是你的物理内存了,比如我的服务器是8G,那total就是:8107:used + free = total. 这里要注意的是对used和free的理解,used表示系统已使用的内存(并不是实际使用的内存),free表示系统剩余的内容 ②-/+ buffers/cache,这一行能够真实反映出服务器内存使用情况     – buffers/cache表示实实在在被程序用掉的内存,而+ buffers/cache表示剩余可用的内存