su和sudo命令详解

su是switch user的缩写,可以临时性的把当前的用户环境切换到另一个用户去。即可让用户暂时变更登录的身份。利用su改变身份后,默认并不会改变工作目录,但会变更HOME,SHELL,USER,LOGNAME等环境变量。
su [option]... [-] [USER [ARG]...]
常用选项: -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查看     
                               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值