sudo命令
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命令的更多相关文章
- linux sudo 命令
简单的说,sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码.严谨些说,sudo 允许一个已授权用户以超级用户或者其它用户的角色 ...
- Linux sudo 命令的应用
.note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...
- 在脚本中使用sudo命令,将密码保存在脚本中,不需要手动输入密码
在脚本中使用sudo命令,将密码保存在脚本中,不需要手动输入密码. #!/bin/bash echo 'xxx密码xxx'|sudo -S service mysql start echo 'xxx密 ...
- sudo 命令情景分析
Linux 下使用 sudo 命令,可以让普通用户也能执行一些或者全部的 root 命令.本文就对我们常用到 sudo 操作情景进行简单分析,通过一些例子来了解 sudo 命令相关的技巧. 情景一:用 ...
- LINUX 如何开放端口和关闭端口/jps/sudo命令
1 在java的根目录下用java的jps查看:============================================================================ ...
- sudo命令使用的几个场景
在linux系统下,普通用户无法直接执行root用户权限下的命令,如果想让普通用户执行只有root用户才能执行的操作命令.下面罗列下经常使用sudo命令的几个场景: 1.用户无权限执行root命令普通 ...
- Linux su和sudo命令的区别,并获得root权限
su(superuser) su表示切换用户,如: 输入:su命令后回车表示切换当前的用户到root用户,或者: 输入:su - root(或者其他用户名)这里加了"-"后表示也切 ...
- 【转】sudo命令情景分析
文章转自:http://www.cnblogs.com/hazir/p/sudo_command.html Linux 下使用 sudo 命令,可以让普通用户也能执行一些或者全部的 root 命令.本 ...
- linux sudo命令
Sudo”是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他 特许用户才能完成的任务,比如:运行一些像mount,ha ...
- Ubuntu 下误修改用户组导致sudo命令无效
1.手贱地修改了当前用户的权限组,导致sudo命令无法使用,且root用户的密码尚未修改,登陆不了root用户. 2.切换到recoverymode ,使用root用户登陆 3.执行mount -o ...
随机推荐
- C# string 常用功能的方法扩展
#region Usings using System; using System.Text; using System.Data; using System.Data.SqlClient; usin ...
- php通过pecl方式安装扩展
安装pecl cd /usr/local/php/bin/ wget http://pear.php.net/go-pear.phar -O go-pear.php php go-pear.php # ...
- 旧调重弹Hibernate与Ibatis区别——深入架构设计
对于一个粗学者而言一言概况就是:ibatis非常简单易学,hibernate相对较复杂,门槛较高. 但是,hibernate对数据库结构提供了较为完整的封装,hibernate的o/r mappin ...
- Python之socket_udp
UDP服务端&客户端编程 ''' udp编程 创建socket对象,socket.SOCK_DGRAM 绑定ip和port,bind()方法 传输数据 1.接收数据,socket.recvfr ...
- 279. Perfect Squares(动态规划)
Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 1 ...
- 《ASP.NET Core In Action》读书笔记系列二 ASP.NET Core 能用于什么样的应用,什么时候选择ASP.NET Core
ASP.NET Core 能用于什么样的应用 ASP.NET Core 可以用作传统的web服务.RESTful服务.远程过程调用(RPC)服务.微服务,这归功于它的跨平台支持和轻量级设计.如下图所示 ...
- Java 多线程之Timer与ScheduledExecutorService
1.Timer管理延时任务的缺陷 a.以前在项目中也经常使用定时器,比如每隔一段时间清理项目中的一些垃圾文件,每个一段时间进行数据清洗:然而Timer是存在一些缺陷的,因为Timer在执行定时任务时只 ...
- bzoj2809 [Apio2012]dispatching(左偏树)
[Apio2012]dispatching Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿.在这个帮派里,有一名忍者被称之为 Master.除了 M ...
- 基于PLC1850平台的ICMP包请求与响应
一.以太网IP包报文格式 IP包是连接在以太网首部(以太网目的MAC地址(6个字节)+以太网源MAC地址(6个字节)+帧类型(2个字节))之后. IP报文中各个字段分析如下: ①.版本:在IP报文中, ...
- php 版本升高后 会出现 之Deprecated: Function ereg_replace() is deprecated的解决方法
这个问题是因为php版本过高. 在php5.3中,正则函数ereg_replace已经废弃,而dedecms还继续用.有两个方案可以解决以上问题: 1.把php版本换到v5.3下. 2.继续使用v5. ...