zoukankan      html  css  js  c++  java
  • sudo

    sudo
    execute a command as another user
    以前学过的要转换用户身份做一个事情的方法有:
    1,
    suid可以在执行一个命令转换身份
    2,
    su - user1 <<EOF
    touch 123
    exit
    EOF
    3,
    su - user1 -c "touch 456"
    管理员有root的密码,在管理时也不用root用户,而用一个普通用户(为了安全,防止用root做误操作)。但是普通用户并没有所有的权限,所以可以在root对这个普通用户授权,让它能够做root能做的事情).
    用处1:用于管理员给只有普通用户密码的助理工程师授于一些相应命令权限,但root密码却不给助理工程师的情形。
    网络路由管理:张三
    服务管理:李四
    磁盘存储管理:王五
    进程管理:马六
    软件包管理:田七
    ......
    用处2:很多公司要求root管理员为了防止误操作,不用root,而用普通用户(sudo授于你所需要的命令权限,但对于很危险的操作,如init等就不授权)sudo来操作
    例1:root授于普通用户abc所有的操作权限
    # vim /etc/sudoers
    91 root ALL=(ALL) ALL
    92 abc ALL=(ALL) ALL --加上这一句表示把所有的相关权限给abc用户
    # su - abc
    $ touch /root/abc --abc不允许在root家目录创建文件
    touch: cannot touch `/root/abc': Permission denied
    $ sudo touch /root/abc --命令前加sudo,第一次使用sudo,会有下面的一段话
    We trust you have received the usual lecture from the local System
    Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
    [sudo] password for abc: --输入的是abc的密码,而不是root的密码,就可以成功创建
    $ sudo ls -l /root/abc --再次用sudo就不需要输入密码了,也可以看到其实还是用的root的身份
    -rw-r--r-- 1 root root 0 Nov 7 09:59 /root/abc
    例2:授于普通用户abc部分权限
    # vim /etc/sudoers
    Cmnd_Alias SERVICES = /usr/bin/systemctl restart sshd,/usr/bin/systemctl restart httpd
    root ALL=(ALL) ALL
    abc ALL=SERVICES
    测试,abc用户使用sudo,只能restart sshd服务和httpd服务
    改成如下
    Cmnd_Alias SERVICES = /usr/bin/systemctl * sshd,/usr/bin/systemctl restart *
    表示可以对sshd做start,stop,status,enable,disable等所有操作
      可以restart后接任何服务
      
    -----------------------------------------------------------------------------------------------
    尝试安装下面的软件
    笔记目录下/arch/safedog_linux64.tar.gz
    安装方法,解压,然后cd到解压目录,执行install.py文件进行安装
    # /etc/init.d/safedog restart
    # systemctl restart safedog
    # sdui
  • 相关阅读:
    WCF中的自定义类中包括自定义枚举类型时出错
    Asp.Net无刷新上传并裁剪头像
    C# 字符串模糊查找
    .NET中如何通过文本框中按回车键进行的提交数据
    关于Firefox、Safari 与IE区别实际应用的一点心得
    ASP.NET 网速慢时候按钮禁止重复提交
    ASP.NET前台代码绑定后台变量方法总结
    验证功能在IE中没问题,在火狐浏览器中无反应
    aspx 后台cs文件动态修改Lable 样式
    asp.net程序调试 连接池和 "Timeout expired"异常
  • 原文地址:https://www.cnblogs.com/skyzy/p/9201427.html
Copyright © 2011-2022 走看看