文档章节

su以及sudo的应用

独钓渔
 独钓渔
发布于 2015/05/11 18:24
字数 648
阅读 162
收藏 12

一、su (switch user),可以临时性的改变当前用户,即可让用户暂时变更登录的身份。利用su改变身份后,默认并不会改变工作目录,但会变更HOME,SHELL,USER,LOGNAME等环境变量。

常用选项

"-c" : 执行完指定命令后,即恢复原来的身份,即退出。

"" : 改变身份是,不改变工作目录,不会用引切换目标用户的环境变量。

"-" : 改变身份时,也同时改变工作目录,会引用切换目标用户的环境变量。

二、sudo用于指定用户某个用户以某种身份运行某个程序。
sudo可以让用户以其他的身份来执行指定的命令,默认的身份为root。
在/etc/sudoers中设定了可执行sudo命令的用户.
该文件需要用专门的命令#visudo打开修改,其可以检查该文件的语法错误.
在/etc/sudoers中定义sudo语句的语法格式为:
who  where=(who)  what 解释为
谁,可以在那些主机上以谁的身份,执行什么命令.
例:tom 192.168.0.1=(root) /usr/bin/useradd,...,...,
其中who,where,(who),what分别可以定义为一个组.分别叫做用户组,主机组,身份组和命令组.他们的语法格式为.
关键字    组名(全部大写) = 组内成员,组内成员,.....
定义用户组
 User_Alias      USERGNAME = USERNAME,USERNAME
    其中SUERNAME接受的表示方式为:a、用户名
                                  b、%groupname 系统用户组名
                                  c、+netgroup  net组
                                  d、otheruser_alias 其它组。
                                 
定义主机组
  Host_Alias      HOSTGNAME = HOSTIP,..,.....
  HOSTIP接受的表示方式为:a、HOSTNAME   主机名
                                   b、IP_ADDR    IP地址
                                   c、NETWORK(/NETMASK) 网络地址
                                   d、OTHERHOSTGNAME   其他主机组
                          
定义运行身份
   Runas_Alias   RUNGNAME = RUNUSERNAME
   RUNSUERNAME接受的表示方式为:a、#uid  uid
                                                b、%group 以系统组的身份
                                                c、ALL  以所有人的身份
定义命令组
   Cmmd_Alias    CMMGDNAME  = COMMAD,COMMAD... 
   COMMAD接受的命令格式为:a、/dir/to/commd   命令的全路径
                                        b、/dir/to/commd ARG  加参数
                                        c、/dir        整个目录中的命令
    命令组中可以用PASSWD,NOPASSWD,!
    其中PASSWD表示该标签以后所有命令用sudo执行时输入密码。
        NOPASSWD表示该标签以后的所有命令不用输入命令
        “!”表示不能执行该条命令
在sudoers中有其语法格式和样例。可以用#man sudoers查看 

sudo -i  切换用户,并改变工作目录,相应环境变量要加载;
sudo -s 切换用户,不改变工作目录,相应环境变量不加载。

© 著作权归作者所有

共有 人打赏支持
独钓渔
粉丝 48
博文 385
码字总数 148158
作品 0
沙坪坝
系统管理员
私信 提问
TCP_Wrapper&sudo

TCPWrapper&sudo 一、tcpwrapper 访问控制 1.tcp协议之上的服务 2.仅一部分基于tcp传输的应用层服务可接受其控制 用户空间:库 libwrap.so 链接至此库的应用才会受tcpwrapper管理 ldd //查看是...

MT_IT
2017/12/03
0
0
tcp_wrapper,sudo,nsswitch与pam安全解析

tcpwrapper作为tcp协议的一种封装机制,主要适用于允许或拒绝某个或某段IP地址对本机访问,之前讲过的关于用户控件的防火墙应用工具iptables也可以实现这一功能,iptables可以针对所有的应用...

wujunqi1996
2018/06/28
0
0
Fedora 16 桌面用户指南

本文测试基于 Virtualbox + Fedora 16 Live CD 。兔兔出品,仅供各位Fedora 16桌面用户参考。如果错误,敬请指出,以便后来人查阅。这篇文章早就写好了,因笨兔兔上月流量用尽,等待了几天,...

小卒过河
2011/11/02
1K
1
su命令、sudo命令、限制root远程登录

3.7 su命令 su切换用户但不切换当前工作目录以及 HOME,SHELL,USER,LOGNAME;仅仅拥有了root的权限 su -,su -l或su --login 命令改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOG...

vitus_feng
2017/11/01
0
0
在Linux系统中应用su和sudo

原文发表于《网络安全和信息化》2017年第1期,现转发到博客。 Linux系统对用户的权限定义比较严格,root用户在系统中具有至高无上的权限,而普通用户的权限则受到严格限制。在实际使用中,管...

yttitan
2017/07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

租房软件隐私保护如同虚设

近日,苏州市民赵先生向江苏新闻广播新闻热线025-84658888反映,他在“安居客”手机应用软件上浏览二手房信息,并且使用该软件自动生成的虚拟号码向当地一家中介公司进行咨询。可电话刚挂不久...

linux-tao
今天
1
0
分布式项目(五)iot-pgsql

书接上回,在Mapping server中,我们已经把数据都整理好了,现在利用postgresql存储历史数据。 iot-pgsql 构建iot-pgsql模块,这里我们写数据库为了性能考虑不在使用mybatis,换成spring jd...

lelinked
今天
4
0
一文分析java基础面试题中易出错考点

前言 这篇文章主要针对的是笔试题中出现的通过查看代码执行结果选择正确答案题材。 正式进入题目内容: 1、(单选题)下面代码的输出结果是什么? public class Base { private Strin...

一看就喷亏的小猿
今天
2
0
cocoapods 用法

cocoapods install pod install 更新本地已经install的仓库 更新所有的仓库 pod update --verbose --no-repo-update 更新制定的仓库 pod update ** --verbose --no-repo-update...

HOrange
今天
3
0
linux下socket编程实现一个服务器连接多个客户端

使用socekt通信一般步骤 1)服务器端:socker()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。 2)客户端:socker()建立套接字,连接(connect)服务器,连接上后...

shzwork
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部