热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux系统中su与sudo的用法-linux运维

一般我们都会建议不要直接使用root账号登陆服务器,建议使用普通账号来登陆,等到必须使用root用户来操作时,才进行身份切换。下面,就来讲讲两个身份切换的命令su与sudo。
一般我们都会建议不要直接使用root账号登陆服务器,建议使用普通账号来登陆,等到必须使用root用户来操作时,才进行身份切换。下面,就来讲讲两个身份切换的命令su与sudo。

su

su命令用于从当前用户切换到新的用户,切换到新用户身份时,需要输入切换用户的密码。

一般用法:su - 用户名

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

下面来演示该命令的用法:

$ id # 当前用户是admin
uid=1005(admin) gid=1006(admin) groups=1006(admin)
$ su - # 不输入用户名则表示切换到root用户
Password: <===输入root用户的密码

sudo

使用su来切换用户需要输入新用户的密码,我们不可能把root密码随意给其他人。使用sudo可以来解决这个问题,下面我们来介绍sudo。

对比su需要知道新切换的用户密码(往往是root用户密码),sudo的执行只要输入自己的密码即可。甚至可以设置为不用密码都行。想要用好sudo,那么就需要掌握/etc/sudoers这个配置文件。但这个文件是不能用vim或来修改,他需要用指定的命令,visudo来修改。

下面展示sudo的用法:

sudo [选项] 命令

  • -b:将后续命令反正后台运行

  • -u:指定用户运行后续命令

  • sh -c执行多条命令

[root@bajiecxg tmp]# sudo -u gwx touch a.txt
[root@bajiecxg tmp]# ll a.txt 
-rw-r--r-- 1 gwx gwx 0 10月 29 17:49 a.txt
# 使用sh -c执行多条命令
[root@bajiecxg tmp]# sudo -u gwx sh -c "mkdir gwx;cd gwx;\
touch 1.txt"
[root@bajiecxg tmp]# ll gwx/
总用量 0
-rw-r--r-- 1 gwx gwx 0 10月 29 17:53 1.txt

下面我们来看看/etc/sudoers这个文件,基本配置格式如下

root    ALL=(ALL)   ALL

使用者账号 登录者来源主机=可切换的用户身份 可执行的命令

上面的意思死root用户可以从任意主机登录,能够切换任意的身份,能够执行任意的命令

现在,我们想添加一个用户admin,让他也能执行任意命令,那么,我们就需要使用visodu命令新增一行,如下:

admin ALL=(ALL) ALL

那如果我们有多个运维管理者,他们都需要能够使用sudo来执行任意命令,那么就需要添加多条配置。那有没有一种简便的方法呢?有的,只要我们把用户加入到wheel这个组就可以了。那么为什么加入到这个组就行了呢?看下/etc/sudoers,大概在99行:

%wheel  ALL=(ALL)   ALL

我们还可以让用户使用sudo时候,不需要使用密码即可执行命令

%wheel    ALL=(ALL)   NOPASSWD: ALL
# 属于wheel这个组的用户执行sudo命令时,不需要输入密码


还可以赋予用户有限的命令权限,让用户只能执行几个命令

admin ALL=(ALL) /usr/bin/ls,/usr/bin/cd

除此之外,sudo还有许多其他的用法,比如用户别名、命令别名等等,有兴趣的童鞋可以自行查阅相关信息。

以上就是linux系统中su与sudo的用法的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • (九)Docker常用安装
    一、总体步骤1、搜索镜像2、拉取镜像3、查看镜像4、启动镜像5、停止镜像6、移除镜像二、安装tomcat1、dockerhub上面查找tomcat镜像 dockersearchto ... [详细]
author-avatar
为你空手的执着
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有