su命令

  switch user的缩写, 意为切换至指定用户执行命令

常用选项

  -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;

  -f或——fast:适用于csh与tsch,使shell不用去读取启动文件;

  -l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;

  -m,-p或--preserve-environment:变更身份时,不要变更环境变量;

  -s或--shell=:指定要执行的shell; --help:显示帮助; --version;显示版本信息。

示例

1.切换至root用户,创建user1用户

[centos@localhost root]$useradd user1          # 使用centos用户创建用户失败
bash: /usr/sbin/useradd: Permission denied
[centos@localhost root]$su -c 'useradd user1' # 切换至root用户下,创建用户
Password:                       # 输入root用户的密码
[centos@localhost root]$tail - /etc/passwd # 确认是否创建成功
centos:x::::/home/centos:/bin/bash
user1:x::::/home/user1:/bin/bash

2.切换至root用户

[centos@localhost root]$su -              # 切换至root用户, - 表示改变工作目录,且重新载入环境变量
Password:
Last login: Mon Jun :: CST on pts/
Last failed login: Mon Jun :: CST on pts/
There was failed login attempt since the last successful login.
[root@localhost ~]#su centos # 切换至centos用户

sudo命令

  execute a command as another user, 以其他用户身份临时性地执行命令。可以让获得授权的用户以另一个身份(一般为root用户,或者属组为root)执行命令。

  授权文件/etc/sudoers,只能使用visudo命令,编写该文件

常用选项

  -b    以后台进程的方式运行命令

  -g group  以属组为group的身份运行程序

  -h      查看帮助想你想

  -k    让认证文件失效

  -l     显示当前用户能执行的sudo命令

  -u user    以user的身份运行命令

授权文件的配置

1.别名配置

A.主机别名

  Host_Alias     FILESERVERS = fs1, fs2

B.用户别名

  User_Alias ADMINS = jsmith, mikem

C.命令别名

  Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig

注意:命令必须为二进制文件全路径

2.给用户授权

A.向centos用户授权,可以进行所有操作

    centos   ALL=(ALL)   ALL

  B.wheel组中的用户可以执行所有操作,且不需要输入密码

    %wheel        ALL=(ALL)       NOPASSWD: ALL

  C.允许centos用户,以无密码地方式执行SOFTWARE中的命令

    Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum

    centos  ALL=(ALL)       NOPASSWD: SOFTWARE  

sudo命令的更多相关文章

  1. linux sudo 命令

    简单的说,sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码.严谨些说,sudo 允许一个已授权用户以超级用户或者其它用户的角色 ...

  2. Linux sudo 命令的应用

    .note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...

  3. 在脚本中使用sudo命令,将密码保存在脚本中,不需要手动输入密码

    在脚本中使用sudo命令,将密码保存在脚本中,不需要手动输入密码. #!/bin/bash echo 'xxx密码xxx'|sudo -S service mysql start echo 'xxx密 ...

  4. sudo 命令情景分析

    Linux 下使用 sudo 命令,可以让普通用户也能执行一些或者全部的 root 命令.本文就对我们常用到 sudo 操作情景进行简单分析,通过一些例子来了解 sudo 命令相关的技巧. 情景一:用 ...

  5. LINUX 如何开放端口和关闭端口/jps/sudo命令

    1 在java的根目录下用java的jps查看:============================================================================ ...

  6. sudo命令使用的几个场景

    在linux系统下,普通用户无法直接执行root用户权限下的命令,如果想让普通用户执行只有root用户才能执行的操作命令.下面罗列下经常使用sudo命令的几个场景: 1.用户无权限执行root命令普通 ...

  7. Linux su和sudo命令的区别,并获得root权限

    su(superuser) su表示切换用户,如: 输入:su命令后回车表示切换当前的用户到root用户,或者: 输入:su - root(或者其他用户名)这里加了"-"后表示也切 ...

  8. 【转】sudo命令情景分析

    文章转自:http://www.cnblogs.com/hazir/p/sudo_command.html Linux 下使用 sudo 命令,可以让普通用户也能执行一些或者全部的 root 命令.本 ...

  9. linux sudo命令

    Sudo”是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他 特许用户才能完成的任务,比如:运行一些像mount,ha ...

  10. Ubuntu 下误修改用户组导致sudo命令无效

    1.手贱地修改了当前用户的权限组,导致sudo命令无法使用,且root用户的密码尚未修改,登陆不了root用户. 2.切换到recoverymode ,使用root用户登陆 3.执行mount -o ...

随机推荐

  1. 指定时间生成cron表达式

    public class CronUtils { private static final SimpleDateFormat sdf = new SimpleDateFormat("ss m ...

  2. Generator自动生成DAO和POJO代码

    一  添加相关插件 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>myba ...

  3. 文件下载后台报错IllegalStateException: getOutputStream() has already been called

    java.lang.IllegalStateException: getOutputStream() has already been called <%@page language=" ...

  4. WebForm文件上传

    用 FileUpload控件进行上传文件. <asp:FileUpload ID="FileUpload1"  runat="server" /> ...

  5. js 字符串的replace() 方法和实现replaceAll() 方法

    一.js中字符串的替换使用replace() 方法,但它只替换第一个匹配子串.如下例: <script type="text/javascript"> var sour ...

  6. 软件目录结构规范(以python为例)

    为什么要设计好目录结构   "设计项目目录结构",就和"代码编码风格"一样,属于个人风格问题.对于这种风格上的规范,一直都存在两种态度: 一类同学认为,这种个人 ...

  7. JS实现div的抖动:缓动式抖动

    代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...

  8. BZOJ 4195: [Noi2015]程序自动分析 并查集+离散化

    LUOGU 1955BZOJ 4195 题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3...代表程序中出现的变量 ...

  9. JavaScript中对象和数组的深拷贝

    不管是在面试中还是我们的项目中经常会用到数组或者对象的深拷贝,下面我就自己总结的分享给大家. 首先要知道什么是深拷贝?什么是浅拷贝? 深拷贝:源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另 ...

  10. 如何在cisco官网上下载Cisco packet tracer模拟器

    这个是“思科网络技术学院”提供的一个软件,需要注册成为学员以后才能用,注册名字可以更改. 进入网站后,上面七个选项,cisco Networking Academy.课程(下边第七个选项“Packet ...