转载自http://www.cnblogs.com/haichuan3000/articles/2123633.html

Mandriva 说也奇怪,用root登录的用户比一般用户还难用,当初用FC6时,我就完全使用root用户。Mandriva 中不能直接登录KDE,好容易搞进去后一个P图标没有,整个界面血红血红的,看着就吓人。没办法,成长就是被逼出来的。老子不信邪,找到了su和sudo,这里总结一下。

首先是 su 命令。
功能:直接将身份变成其他用户。(需要其他用户的密码)
用法:
         $ su [选项]... [-] [用户 [参数]...]
参数:

-, -l, --login

-l 后接用户名,单独的- 代表root,且使用 root 的环境变量。

-c, --commmand=COMMAND

仅进行一次命令,-c 后可直接加命令。

-m, --preserve-environment

使用目前的环境设定,而不重新读取新使用者的设定。

-p

同 -m

--help

显示此帮助信息并退出

--version

输出版本信息并退出

用 exit 命令或快捷键[Ctrl+D]可返回原登录用户。

例1:由 svyee 转变为 root 用户

[svyee@localhost ~]$ su
口令:<= 输入 root 的密码
[root@localhost svyee]#
# 没有使用 - 情况下,仍为原用户环境变量。

[svyee@localhost ~]$ su -
口令:<= 输入 root 的密码
[root@localhost ~]# 
# 加上参数 - 后,完全切换到了root用户的环境变量。

高手推荐用su时,最好用 su - 。我是菜鸟,只知其然,暂不知其所以然。

例2:由 svyee 转变为 test 用户

[svyee@localhost ~]$ su -l test
口令:<= 输入 test 的密码
[test@localhost ~]$

------------------------------------------------------------------------------------------------------------------------------
下面是 sudo 命令
        可以说sudo命令补偿了它的一个致命缺陷,那就是任何一个想转为root用户的人都得掌握root用户的密码,我这样的菜鸟也知道这很不安全,俺的root密码跟银行卡密码一样呢,能让别人知道吗?!哈哈,开玩笑。菜鸟归菜鸟,俺不是笨鸟。

功能:对于root授权的用户,可使用该命令临时切换到root用户环境下。
          授权文件为 /etc/sudoers 文件,只要里面有你的大名,你就享有sudo特权。

新装的系统,root只给他自己特权,下面先加上给svyee加上特权。

菜鸟方法优先:
#用上面的 su 命令换至 root 环境。

[svyee@localhost ~]$ su -
口令:<= 输入 root 的密码
[root@localhost ~]# kwrite /etc/sudoers
# 用KDE的KWrite来编辑文件,可以点鼠标,方便。

在打开的sudoers文件中,找到下面的字样,添上最后一行。
# User privilege specification
root       ALL=(ALL) ALL
svyee      ALL=(ALL) ALL <= 添上这一行。

点鼠标,保存退出。OK! svyee有特权了。

高手方法:
Ctrl + Alt + F1 在文本模式下以root身份登录,然后:

[root@linux ~]# visudo

或:

[root@linux ~]# vi /etc/sudoers

推荐用前者。
同样添加上一行。保存退出。
vi的具体操作,等俺学了再来总结。

下面,回到 sudo
参数:

-b

在后台执行指令。

-h

显示帮助。

-k

结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。

-l

列出目前用户可执行与无法执行的指令。

-s<shell>

执行指定的shell。

-u<user>

以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。

-v

延长密码有效期限5分钟。

-V

显示版本信息。

例3:入侵禁区

[svyee@localhost ~]$ sudo mkdir /good
Password: <=输入svyee的密码即可。
# OK,成功建立目录good。
[svyee@localhost ~]$ sudo rmdir /good
# 嘿嘿。删除成功,不用再输密码了。

方便的是第一次使用sudo输入密码后,下一次就不用再输密码啦。
你看那Adobe Reader 搞什么鬼,只有root身份才能打开。有sudo就轻松啦:

例4:运行特权软件

[svyee@localhost ~]$ sudo acroread
# 一会 Adobe Reader 就乖乖打开了。

(上例更简便的方法见:昵称时代, alias 让 Linux 命令更简练

例5:变为 root 环境

[svyee@localhost ~]$ sudo -s
Password: <=输入svyee的密码即可。
[root@localhost ~]#

就到这吧。觉得肤浅?欢迎留下您的高见,俺菜鸟啊。

[转载] su和sudo的更多相关文章

  1. su和sudo的区别与使用【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  2. linux su、sudo、sudo su、sudo -i的用法和区别

    sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码.不过有时间限制,Ubuntu默认一次时长15分钟. su : 切换到某某用户模式,提 ...

  3. 【linux】su、sudo、sudo su、sudo -i的用法和区别

    来源:http://bbs.csdn.net/topics/390938651 sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码.不过 ...

  4. Linux 下以其他用户身份运行程序—— su、sudo、runuser

      本文综合分析了Linux系统下,如何使用runuser命令.su命令和sudo命令以其他用户身份来运行程序,以及这三个命令的运行效率比较. 一.su 命令临时切换用户身份 SU:( Switch ...

  5. 07 Linux su和sudo命令的区别

    一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用 ...

  6. su和su -和sudo

    1.su和sudo没有切换工作目录和环境变量,只是赋予用户权限, 而su -是真正切换到root登录,工作目录切换到/root,环境变量也同时改变. [root@oc3408554812 home]# ...

  7. CentOS用户权限管理--su与sudo

    Linux权限管理--su与sudo 1.su用来切换登录的用户,比如当前用户为chen,可以用su zhu,并输入用户zhu的登录密码,就可以切换到用户zhu.如果一个普通用户想切换到root用户, ...

  8. 设置su和sudo为不需要密码

    设置su和sudo为不需要密码 一 设置sudo为不需要密码   有时候我们只需要执行一条root权限的命令也要su到root,是不是有些不方便?这时可以用sudo代替.默认新建的用户不在sudo组, ...

  9. Linux命令--su与sudo

    su(switch user)命令的作用:切换用户,一般是普通用户与root用户之间的切换.例:>su                #输入su命令Password:      #提示输入密码 ...

随机推荐

  1. c++ 11 移动语义、std::move 左值、右值、将亡值、纯右值、右值引用

    为什么要用移动语义 先看看下面的代码 // rvalue_reference.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #includ ...

  2. 语音识别完成诗句的查询功能,iOS AVSpeechSynthesis语音输出结果的诗歌APP

    前言 当前的APP的查询都是使用手动输入,不仅效率低,而且查询的语句的限制比较大,不能够方便的扩展. 如果能方便的扩展查询语句,那么APP的使用就会有很大的灵活性.可以设计各种问句和语句,可以方便的和 ...

  3. Django REST FrameWork中文教程3:基于类的视图

    我们也可以使用基于类的视图编写我们的API视图,而不是基于函数的视图.我们将看到这是一个强大的模式,允许我们重用常用功能,并帮助我们保持代码DRY. 使用基于类的视图重写我们的API 我们将首先将根视 ...

  4. 关于AOP装饰函数中的this

    在学习关于JavaScript的装饰者设计模式的过程中,发现其实现方式的关键在于this的使用. 想象一个匿名函数(其实预定义的有名函数也可以,都存在引用),其中的this: // 我们先定义一个匿名 ...

  5. VisualStudio 合并代码文件

    如果有相同的类,一般可以使用 partial 让他写在多个文件,那么如何把多个文件合并?请看 MainWindow.xaml 和 MainWindow.xaml.cs 其中 代码文件被折叠,那么如何做 ...

  6. 聊聊Vue.js组件间通信的几种姿势

    写在前面 因为对Vue.js很感兴趣,而且平时工作的技术栈也是Vue.js,这几个月花了些时间研究学习了一下Vue.js源码,并做了总结与输出. 文章的原地址:https://github.com/a ...

  7. 12.21-Android WebService(基于KSOAP2)

    KSOAP2_连接WebService *****我是小知识点******** Ksoap2提供了对soap序列化更好的支持.Ksoap2是一个轻量级的J2ME平台的实现框架,提供了soap协议消息的 ...

  8. MongoDB基本命令行操作

    1. 连接MongoDB: Mongodb://username:password@hostname/dbname 2. 创建数据库: use dbname:如果数据库不存在则创建数据库,否则切换到指 ...

  9. 开发《WORD阅读器》小结(1)

    这是一个相对原生的APP开发, 从GITHUB上下载了相应的框架,应该是至少2年以前的一个lovereader,是我能快速找到的为数不多的WORD阅读器的源码.应该是用ECLIPSE开发的,而我现在只 ...

  10. Matrices and Vectors

    Matrices and Vectors Matrices are 2-dimensional arrays: A vector is a matrix with one column and man ...