su
语法:

[root @test/root ]# su
参数说明:
范例:
[test@testtest]$ su
Password:         <==输入 root 的密码
[root@testtest]#      <==身份变成 root 了!
[test@testtest]$ su - <==连环境参数档案都是读取 root 的!
[root@testroot]# su test <==将 root 的身份改为 test ,且不需要输入密码喔!

说明 :
这个指令很有用呦!这是用来将『 一般身份转换成super user 』的指令!通常为了安全的考虑,telnet 与 ssh 尽量不要以 root 的身份来登入!但是有时后我们又要在外头以root 的身份来修改系统设定,这个时候 su 就很有用了!su 的使用真的很简单,输入su 之后,直接给他输入 root 的密码,此时您就是 root 了!但是需要特别留意的是:

  • 虽然您已经是 root 的身份,但是您的环境当中,还是属于当初登入的那个使用者!例如我以test 登入 Linux ,再以 su 切换身份成为 root ,但是我的 mail, PATH 及其它一些相关的环境变量,都还是test 这个身份呢!
  • 至于环境变量当中,最麻烦的当属 PATH 这个东西,因为为了避免一般使用者使用了root 的管理指令,所以通常 Linux 都会将指令分类放在两个主要的目录,分别是/bin 与 /sbin !那个 /sbin 大多是 super user 就是 root 用来管理系统的指令啦!所以,可能的话,将test 的 PATH 重新设定成为 root 的 PATH ,这样也比较方便呀!
  • 如果要全部的环境变量均使用 root 的设定档,这个时候必需使用『su - 』来下达命令喔!

此外, su 也可以将您的身份转换成为其它身份的使用者,而,如果您是root ,那么转换为其它身份的使用者,将不需要输入密码喔!很过瘾吧!


sudo

语法:

[root @test/root ]# sudo [-u username] [command]
参数说明:
-u  :将身份变成username 的身份
范例:
[test@testtest]$ sudo mkdir /root/testing
Password:         <==输入 test 自己的密码
[root@testtest]$ sudo -u test touch test<==root 可以执行 test 这个使用者的指令,建立test 的档案!

说明 :

  • 如果单纯的使用 su 来变换成 root 的身份,最大的好处是可以直接下达我们惯用的指令,但是,还是会有问题的,就是如果主机是由多人共管的时候,由于所有的人都必须要知道root 的密码,如此一来,呵呵!很麻烦的啦!因为怕被入侵嘛!而且只要 root改变了密码,那么所有人都必需要通知一次!很麻烦,加上,如果管理群中的一个人不小心泄出了root 的密码,不就完蛋了??那么有没有可以不需要 root 的密码,却还是可以执行root 的工具呢?呵呵!这个时候就有 sudo 的出现了!
  • sudo 的基本语法就是在 sudo 后头直接加上指令,例如上面的例子中,mkdir /root/testing 就是命令啦!那么就可以来执行 root 身份可以动作的事情!此外,由于执行root 身份的工作时,『输入的密码是使用者的密码,而不是 root 的密码,所以可以减少root 密码外流的问题!』如此 root 的密码将不会流出去了!但是 sudo 在使用的时候请小心,就是要在/etc/sudoers 里头设定该有的事项!在预设情况下,只有 root 才能使用 sudo!那有什么用!我们是一般使用者,想要使用的是 sudo 来变成 root 的身份呀!呵呵!没关系!可以使用visudo 来编辑 /etc/sudoers 这个档案即可!在 Mandrake 9.0 与 Red Hat 的Linux 版本之的预设情况中,使用『 visudo 』才能编辑 /etc/sudoers 这个档案,此外,编辑者的身份必须要root 才行!如何编辑呢?在预设的情况中,我们会希望将可以执行 root 动作的人的group 设定为 wheel ,然后:
     

    [root@est /root]# visudo
    # sudoers file.
    #
    # This fileMUST be edited with the 'visudo' command as root.
    #
    # See the sudoersman page for the details on how to write a sudoers file.
    #
    # Host aliasspecification
    # User aliasspecification
    # Cmnd aliasspecification
    # Defaultsspecification
    # User privilegespecification
    root   ALL=(ALL) ALL
    test   ALL=(ALL) ALL                 <==这一行可以加入,使 test 这个人可以使用 sudo
    # Uncommentto allow people in group wheel to run all commands
    # %wheel       ALL=(ALL)       ALL    <==将这一行批注符号取消
    # Same thingwithout a password
    # %wheel       ALL=(ALL)       NOPASSWD: ALL
    # Samples
    # %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
    # %users localhost=/sbin/shutdown -h now

     
    如果如同上面的方式,将黄色字体那一行 /etc/sudoers里头将
     

    • 『 # %wheel       ALL=(ALL)       ALL』

     
    这一行的批注符号取消,如此一来,则群组为wheel 的人就可以进行 root 的身份工作!这个wheel 是系统预设的 group 呢!因此,如果您想要让这部主机里头的一般身份使用者具有sudo 的使用权限,那么您就必需将该 user 放入支持 wheel 这个群组里头!如何加入?呵呵!刚刚上面不是介绍了/etc/group 吗?赶紧去看看!那么万一我想要让『单独的个人可以使用sudo 的功能』呢?呵呵!那就直接以 visudo加上这一行
     

    • 『test ALL=(ALL) ALL』

     
    即可!那么 test 即可使用 sudo 的功能啰!很简单吧!但是请记得不要以vi 直接修改 sudoers 呦!会有问题!

  • sudo 除了变成 root 的功能之外!嘿嘿!他还可以变成『任何人』的功能呦!举个简单的例子来说好了,我们都知道启动程序的时候最好不要使用root 来启动,因为如此一来当该程序被接管时,接管者(或者说是入侵者)将拥有root 的权限了!所以近来我们都希望不要以 root 来启动一些程序啦!会比较安全!那么我们要以root 来启动成为 test (例如常用的 nobody 这个账号)要如何作?很简单,就使用上面的第二个例子来看:
     

    • sudo -u test touch test

     
    root 可以改变身份成为 test 来建立档案!嘿嘿!还不需要输入密码!很棒吧!这个动作我曾经在squid 这个执行程序上面做过,这样一来,即使我的 squid 被利用了,那么该怪客只能拥有nobody 的权限,嘿嘿!该权限是很小很小的!所以可以达到保护主机的部分功能呦!

su, su -, sudo相关推荐

  1. 用户切换命令:su 与 sudo

    SU su 切换用户 su - 用户名 是彻底 切换用户 -c 以当用户身份执行"这条命令 /etc/skel 模板文件 "!$ " 上条命令的最后参数 SUDO sud ...

  2. linux su、su -和sudo的区别

    su 切换到root用户,但是并没有转到root用户家目录下,即没有改变用户的环境. su - 切换到root用户,并转到root用户的家目录下,即改变到了root用户的环境. 这个涉及到不同用户下的 ...

  3. su 与 sudo 区别

    在测试机安装软件,执行安装脚本提示permission denied.su切换root权限一直不生效,实际使用sudo可实现,整理之. 1. what is su  & sudo? su : ...

  4. 【转】linux su和sudo命令的区别——百度知道

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

  5. Linux / sudo、su、sudo su、sudo -i 使用和区别

    sudo: 输入当前用户的密码,为了执行只有提升了权限才能执行的命令.本次提升权限有时间限制. su:该命令的功能是切换用户!若后面不加用户名称,则默认切换至 root 用户. 每次切换用户都会打开一 ...

  6. linux命令 su和sudo,解析Linux中sudo,su与su -的异同

    linux系统中,由于root的权限过大,一般情况都不使用它.只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用su和sudo命令. 前言 su命令就是切换用户的 ...

  7. linux下su和sudo的区别 (/libtool: arm-linux-gcc command not found )

    由于没有搞清楚SU和SUDO两者的区别,最近经常编译程序时出错,现在把它们的区别写下来备忘,和大家一起学习 su 和 sudo 的区别:     1.共同点:都是root用户的权限:     2.不同 ...

  8. su命令 sudo命令 限制root远程登录

    su命令 sudo命令 限制root远程登录 su命令 日常操作中为了避免一些误操作,更加安全的管理系统,通常使用的用户身份都为普通用户,而非root.当需要执行一些管理员命令操作时,再切换成root ...

  9. Linux中su和sudo的用法整理

    一.为什么会有su和sudo命令? 主要是因为在实际工作当中需要在Linux不同用户之间进行切换.root用户权限最高很多时候需要root用户才能执行一些关键命令.所以需要临时切换为root用户.工作 ...

  10. linux命令 su和sudo,Linux中sudo和su的区别

    介绍:主要对su和sudo的功能,区别以及使用进行介绍. 两者之间的区别 su用于用户之间的切换: sudo用于普通用户可以使用root权限来执行指定命令: 命令介绍 1. su su简介 su用于用 ...

最新文章

  1. SecureCRT连接时总是提示数据库中没有找到防火墙
  2. Leetcode惊现马化腾每天刷题?为啥大佬都这么努力?代码你打算写到几岁?
  3. 【数学】【CF27E】 Number With The Given Amount Of Divisors
  4. Unity的camera组件
  5. php set get 作用_浅谈PHP拦截器之__set()与__get()的理解与使用方法
  6. ERP人力资源管理系统
  7. 教你实战Flutter Deskstop之Tinypng(熊猫图片压缩)GUI工具
  8. 进程间通讯的7种方式
  9. html 网页飘窗,jquery飘窗插件bay-window.js
  10. 动态规划求解金矿问题
  11. vite 构建vue3 项目配置文件的详情配置
  12. c语言存储器模式,单片机C51存储器类型及存储模式
  13. 《30天自制操作系统》学习笔记--第0天
  14. BoardCast广播组件
  15. 移动端web设计尺寸_手机移动端网页按钮设计尺寸及间距规范
  16. Nood.js C++ 模块 addon插件(二)
  17. npm install 报node-sass错误
  18. 使用scrollTo、scrollBy、Scroller实现滚动动画
  19. 快手与内涵段子最本质的区别
  20. Scrapy搜狗微信:使用cookies登录并使用打码平台自动输入验证码

热门文章

  1. 一片文章带你了解汇编语言
  2. uniapp 生成商品海报并分享保存
  3. 小程序赚钱快,对不起我只能告诉你这么多!
  4. AutoJs封号大集合---火热更新中
  5. Python解炸金花问题
  6. 抖音创作规范_抖音创作内容调整提示怎么办?应该怎么解决
  7. 阿里云ECS服务器搭建Mysql数据库
  8. 招人!!!招人!!!
  9. 人人都应该成为数据分析师
  10. 微信小程序-个人中心/钱包