转载自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. Java+Velocity模板引擎集成插件到Eclipse及使用例子

    一.因为我用的是当前最新的Eclipse4.5,Eclipse中安装集成VelocityEclipse插件之前需要先安装其支持插件:Eclipse 2.0 Style Plugin Support 1 ...

  2. struts2中的结果视图类型

    实际上在Struts2框架中,一个完整的结果视图配置文件应该是: <action name="Action名称" class="Action类路径" me ...

  3. Spring ——依赖注入配置一些知识点

    依赖注入 依赖注入的原理与实现 依赖注入(DI)和依赖查找(Dependency Lookup)共同组成 控制反转(IoC).从原理的角度来说,依赖注入和控制反转是没 有不同的,可以看作是从两个角度来 ...

  4. JavaScript设计模式--桥梁模式--XHR连接队列

    针对该模式的例子现在不是很理解,写下来慢慢熟悉. 们要构建一个队列,队列里存放了很多ajax请求,使用队列(queue)主要是因为要确保先加入的请求先被处理.任何时候,我们可以暂停请求.删除请求.重试 ...

  5. 【学习】js学习笔记:数组(二)

    二维数组 例子:矩形反转: <script> var arr=[[1,1,1,1,1],[2,2,2,2,2],[3,3,3,3,3],[4,4,4,4,4],[5,5,5,5,5]]; ...

  6. Java—Day5课堂练习

    package com.lovo.classes;import java.util.Scanner;public class day5Test {    public static void main ...

  7. Developing Universal Windows Apps 开发UWA应用 问答

    开始是一些欢迎,就不翻译 Question: Is the code already there? Answer: There is some code on that codeplex site, ...

  8. 双向链表--Java实现

    /*双向链表特点: *1.每个节点含有两个引用,previos和next,支持向前或向后的遍历(除头节点) *2.缺点插入或删除的时候涉及到引用修改的比较多 *注意:下面的双向链表其实也实现了双端链表 ...

  9. 12.21-Android WebService(基于KSOAP2)

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

  10. java笔记3(动手动脑)

    1.以下代码为何无法通过编译?哪儿出错了? 原因:已有的Foo()是带一个int型参数的构造方法,不存在无参的构造方法Foo() "构造方法" 当创建一个对象时,它的构造方法会被自 ...