`
xitong
  • 浏览: 6229417 次
文章分类
社区版块
存档分类
最新评论

linux sudo学习

 
阅读更多

一般使用者管理系统的方式是利用 su 切换为超级使用者。但是使用 su 的缺点之一在于必须
要先告知超级使用者的密码.sudo 使一般使用者不需要知道超级使用者的密码即可获得权限。
首先超级使用者将一般使用者登记在特殊的档案中(通常是/etc/sudoers),即完成对该使用
者的授权(此时该使用者称为“sudoer”);在一般使用者需要取得特殊权限时,其可在命令
前加上“sudo”,此时 sudo 将会询问该使用者自己的密码(以确认终端机前的是该使用者本
人),回答后系统即会将该命令的进程以超级使用者的权限执行。


不用root用户进行ssh登录,登录之后使用su切换用户


su 的问题
1。输入密码
2。完全拥有相关 su 的权限
sudo
1。不输入别人的密码
2。需要授权


[user1@localhost ~]$ /sbin/ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:30:C1:B6
inet addr:192.168.126.128 Bcast:192.168.126.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe30:c1b6/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:226 errors:0 dropped:0 overruns:0 frame:0
TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25147 (24.5 KiB) TX bytes:19250 (18.7 KiB)
Interrupt:67 Base address:0x2024


[user1@localhost ~]$ /sbin/ifconfig eth0:1 192.168.1.1
SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied




[root@localhost ~]# vim /etc/sudoers
user1 ALL=/sbin/ifconfig

[user1@localhost ~]$ sudo /sbin/ifconfig eth0:1 192.168.1.1
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect
#2) Think before you type.
#3) With great power comes great responsibility.



[sudo] password for user1:

[user1@localhost ~]$ /sbin/ifconfig eth0:1
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:30:C1:B6
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:67 Base address:0x2024

visudo 可以检查语法
vim /etc/sudoers
user MACHINE=COMMANDS
user1 ALL= NETWORKING
user2 ALL=(root) NOPASSWD:/bin/mount (NOPASSWD 必须第四段 ALL=(root))
• user2 用户名字
• ALL=(root) 主机=(转换成什么身份)
• NOPASSWD:/sbin/fdisk, PASSWD:/sbin/mkfs.ext3
• 不要口令:命令,要口令:命令
工作中: user1 ALL=(root) NOPASSWD:ALL


首先需要配置一些Alias,这样在下面配置权限时,会方便一些,不用写大段大段的配置。Alias主要分成4种
Host_Alias
Cmnd_Alias
User_Alias
Runas_Alias
1) 配置Host_Alias:就是主机的列表
Host_Alias HOST_FLAG = hostname1, hostname2, hostname3
2) 配置Cmnd_Alias:就是允许执行的命令的列表,命令前加上!表示不能执行此命令.
命令一定要使用绝对路径,避免其他目录的同名命令被执行,造成安全隐患 ,因此使用的时候也是使用绝对路径!
Cmnd_Alias COMMAND_FLAG = command1, command2, command3 ,!command4
3) 配置User_Alias:就是具有sudo权限的用户的列表
User_Alias USER_FLAG = user1, user2, user3
4) 配置Runas_Alias:就是用户以什么身份执行(例如root,或者oracle)的列表
Runas_Alias RUNAS_FLAG = operator1, operator2, operator3
5) 配置权限
配置权限的格式如下:
USER_FLAG HOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
如果不需要密码验证的话,则按照这样的格式来配置
USER_FLAG HOST_FLAG=(RUNAS_FLAG) NOPASSWD: COMMAND_FLAG


配置格式如下:
# Host alias specification
Host_Alias EPG = 192.168.1.1, 192.168.1.2
# User alias specification
# Cmnd alias specification
Cmnd_Alias SQUID = /opt/vtbin/squid_refresh, !/sbin/service, /bin/rm
Cmnd_Alias ADMPW = /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd, !/usr/bin/passwd root
# Defaults specification
# User privilege specification
root ALL=(ALL) ALL
support EPG=(ALL) NOPASSWD: SQUID
support EPG=(ALL) NOPASSWD: ADMPW

分享到:
评论

相关推荐

    学习linux从sudo开始

    sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等

    linux su和sudo命令的区别.docx

    Linux su 和 sudo 命令的区别 su 命令是 Linux 中一个非常重要的命令,它允许用户临时切换到另一个用户...通过本文的学习,读者可以更好地了解 su 命令和 sudo 命令的区别和应用场景,从而更好地掌握 Linux 操作系统。

    如何在Linux环境为用户添加sudo权限

    主要介绍了如何在Linux环境为用户添加sudo权限,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Linux中利用sudo进行赋权的方法详解

    sudo的目的:为非根用户授予根用户的权限,下面这篇文章主要给大家介绍了关于Linux中利用sudo进行赋权的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。

    linux入门学习.zip

    一,linux起源及发行版本介绍与安装 二,Linux常用命令 三,文件的搜索及高级文件权限和用户、...六,Linux文件系统管理、挂载及sudo设置与使用 七,Linux新建分区,格式化,新建SWAP分区,创建LVM逻辑卷,软RAID的创建

    面试:说说Linux 命令 su 和 sudo 的区别?.zip

    计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料 计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料 计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料 计算机技术、IT咨询、人工智能AI理论介绍,...

    Linux命令搜索工具linux-command.zip

    Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。   Linux命令分类 这里存放Linux 命令大全并不全,你可以通过linux-command来搜索,它是把 command 目录里面搜集的...

    7.2: sudo提权 、 Ansible配置 、 Ansible Playbook 、 Ans.docx

    sudo(superuser or another do)是 Linux 系统中的一种权限管理机制,允许普通用户以超级管理员或其他人的身份执行命令。sudo 的基本流程包括管理员授权和普通用户执行命令两部分。在本案例中,我们将学习如何配置 ...

    Linux基础学习4

    SUDO,有限制的指令操作,PAM 模块简介,quota 比较常使用的几个情况

    linux必须的60个命令

    就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用...

    最常用的树莓派 Linux 命令及说明.docx

    树莓派 Linux 命令是 Linux 新手学习的基础,掌握这些命令可以帮助用户更好地使用 Raspbian 系统。下面是树莓派实验室整理的一份常用的 Linux 命令及说明: 基础命令 1. `sudo`: 在一行命令之前加上 `sudo`,表示...

    Linux必学的60个命令

    要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理 解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者 把比较重要和使用频率最多的...

    Linux-OpenCV-FFmpeg-OpenGL-配置-安装-part1

    因为上传大小限制,本文件分为两个Part1,part2,请搜索part2.需要一起下载才能解压。 解压后需要先chmod +x *.sh,赋予其可以执行的权限,然后sudo ./*sh 或者sh *.sh 都可以执行。...)祝Linux学习愉快!

    Linux下Python脚本自启动与定时任务详解

    最近同事问了一个关于Python脚本自启动与定时任务的问题,发现很多的朋友对这块都不是特别的熟悉,所以本文主要给大家介绍的是关于Linux下Python脚本自启动与定时任务的相关内容,分享出来供大家参考学习,话不多说...

    Linux基础知识与系统管理教学课件-pdf.rar

    1.4 Linux系统简介-Linux学习方法 2 Linux系统安装 2.1 Linux系统安装-VMware虚拟机安装与使用 2.2 Linux系统安装-系统分区 2.3 Linux系统安装-Linux系统安装 2.4 Linux系统安装-远程登录管理工具 3 给Linux初学者...

    linux命令大全

    就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用...

    《Linux系统管理技术》综合考察项目.docx

    通过学习《Linux 系统管理技术》课程,我对 Linux 下软件开发的认识和体会有了很大的提高。我了解到了 Linux 系统管理技术的重要性和必要性,並且掌握了一些基本的 Linux 管理命令和编程技术。 在学习过程中,我...

    利用管道实现sudo命令免输入密码的方法

    笔者由于学习php,在linux下边也装了一个xampp的集成环境包。但是每次启动的时候都要进入终端,然后依次点开/opt/lampp/,然后sudo执行manager-linux-x64.run操作,才能打开xampp的图形化控制台,显得非常不方便。 ...

    Linux-C编写的个人帐号管理软件

    1)解压tar压缩包后进入软件主目录encryptiontools中,以root权限执行install文件,系统会自动完成软件的编译和安装并运行: linux@unbuntu:~$ sudo ./install 2)安装完成后该软件将会作为Linux的基本命令,今后...

Global site tag (gtag.js) - Google Analytics