linux su和sudo su命令的区别

禁止普通用户通过sudo su命令进入root模式的方法
&禁止普通用户通过sudo su命令进入root模式的方法(在root模式下操作):
# chmod 777 /etc/sudoers
# vi /etc/sudoers
apuser ALL=(ALL:ALL) ALL,!/bin/su
:wq (保存并退出)
# chmod 0440 /etc/sudoers
【声明】:黑吧安全网()登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱,我们会在最短的时间内进行处理。
上一篇:【】【】UNIX下使用sudo su -和使用su -切换用户后有什么区别么?_百度知道
UNIX下使用sudo su -和使用su -切换用户后有什么区别么?
在线等!!!
提问者采纳
没区别,但是 sudo su - 其实是多此一举su -
,直接 su - 即可从最终结果看,结果都是一样的: 切换到 rootsudo su - : 以 root 身份执行 su - 命令不管你以什么身份执行 su - 命令,所以 sudo su - 没意义
sudo su - :以root身份执行su -命令 一般情况用root身份执su -命令是不要再输入密码的吧?如果我以普通帐号a身份进入系统,在帐号a的环境下执行sudo su -b 切换到普通帐号b下,这时需要输入帐号a的密码,而不是b的,也不是root的密码。是这个情况么?
是的。但是有了 sudo, 再用 su ,没什么意义。比如,sudo su -用 sudo -s 即可sudo su - bbb用sudo -u bbb -s 即可简言之,要么只用 su, 要么只用 sudo,混着用的感觉,很古怪
提问者评价
其他类似问题
按默认排序
其他1条回答
&#47:/etc/bin:$PATHexport PATH[wushuyi@server ~]$ echo $PATH /bin[wushuyi@server ~]$ su密码:/usr&#47:/usr&#47:&#47:/profile 的 一些变量 不能 继承而 su 后 可以如果 要 证明 等一下我安 个 虚拟机 测试 给你看看[wushuyi@server ~]$ sudo cat /usr/etc/etc/local/local/local&#47:/sbin:/local/usr/usr/pgsql&#47:&#47:/usr/sudoers | grep wushuyiwushuyi
NOPASSWD;local/local/php/usr/usr&#47:/bin: ALL[wushuyi@server ~]$ tail -n 8 &#47:/usr/usr/php/local/usr/apache2/profile# my set# httpdPATH=&#47:/home/wushuyi/apache2/usr&#47:/local&#47:$PATH# phpPATH=/usr/apache2&#47有 一点点 区别 sudo su 后 我后面 加在 /usr/local/local/home&#47:/local/local/usr&#47:&#47:&#47:/pgsql/usr/wushuyi&#47:[root@server wushuyi]# echo $PATH /bin[root@server wushuyi]# exitexit[wushuyi@server ~]$ sudo su[root@server wushuyi]# echo $PATH/php/bin:/local&#47:/usr/usr&#47:/pgsql/usr/bin:$PATH# postgresqlPATH=&#47
参考资料:
切换用户的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁您现在的位置:&&>>&&>>&&>>&&>>&正文
新手学堂:su和sudo命令的区别与使用技巧
  二. sudo 授权许可使用的su,也是受限制的su
  1. sudo 的适用条件
  由于su 对切换到超级权限用户root后,权限的无限制性,所以su并不能担任多个管理员所管理的系统。如果用su 来切换到超级用户来管理系统,也不能明确哪些工作是由哪个管理员进行的操作。特别是对于的管理有多人参与管理时,最好是针对每个管理员的技术特长和管理范围,并且有针对性的下放给权限,并且约定其使用哪些工具来完成与其相关的工作,这时我们就有必要用到 sudo。
  通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo 相对于权限无限制性的su来说,还是比较安全的,所以sudo 也能被称为受限制的su ;另外sudo 是需要授权许可的,所以也被称为授权许可的su;
  sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权;
  2、从编写 sudo 配置文件/etc/sudoers开始
  sudo的配置文件是/etc/sudoers ,我们可以用他的专用编辑工具visodu ,此工具的好处是在添加规则不太准确时,保存退出时会提示给我们错误信息;配置好后,可以用切换到您授权的用户下,通过sudo -l 来查看哪些命令是可以执行或禁止的;
  /etc/sudoers 文件中每行算一个规则,前面带有#号可以当作是说明的内容,并不执行;如果规则很长,一行列不下时,可以用\号来续行,这样看来一个规则也可以拥有多个行;
  /etc/sudoers 的规则可分为两类;一类是别名定义,另一类是授权规则;别名定义并不是必须的,但授权规则是必须的;
  3、/etc/sudoers 配置文件中别名规则
  别名规则定义格式如下:
  Alias_Type NAME = item1, item2, ……
  Alias_Type NAME = item1, item2, item3 : NAME = item4, item5
  别名类型(Alias_Type):别名类型包括如下四种
  Host_Alias 定义主机别名;
  User_Alias 用户别名,别名成员可以是用户,用户组(前面要加%号)
  Runas_Alias 用来定义runas别名,这个别名指定的是“目的用户”,即sudo 允许切换至的用户;
  Cmnd_Alias 定义命令别名;
  NAME 就是别名了,NMAE的命名是包含大写字母、下划线以及数字,但必须以一个大写字母开头,比如SYNADM、SYN_ADM或SYNAD0是合法的,sYNAMDA或1SYNAD是不合法的;
  item 按中文翻译是项目,在这里我们可以译成成员,如果一个别名下有多个成员,成员与成员之间,通过半角,号分隔;成员在必须是有效并事实存在的。什么是有效的呢?比如主机名,可以通过w查看用户的主机名(或ip地址),如果您只是本地机操作,只通过hostname 命令就能查看;用户名当然是在系统中存在的,在/etc/paswd中必须存在;对于定义命令别名,成员也必须在系统中事实存在的文件名(需要绝对路径);
  item成员受别名类型 Host_Alias、User_Alias、Runas_Alias、Cmnd_Alias 制约,定义什么类型的别名,就要有什么类型的成员相配。我们用Host_Alias定义主机别名时,成员必须是与主机相关相关联,比如是主机名(包括远程登录的主机名)、ip地址(单个或整段)、掩码等;当用户登录时,可以通过w命令来查看登录用户主机信息;用User_Alias和 Runas_Alias定义时,必须要用系统用户做为成员;用Cmnd_Alias 定义执行命令的别名时,必须是系统存在的文件,文件名可以用通配符表示,配置Cmnd_Alias时命令需要绝对路径;其中 Runas_Alias 和User_Alias 有点相似,但与User_Alias 绝对不是同一个概念,Runas_Alias 定义的是某个系统用户可以sudo 切换身份到Runas_Alias 下的成员;我们在授权规则中以实例进行解说;别名规则是每行算一个规则,如果一个别名规则一行容不下时,可以通过\来续行;同一类型别名的定义,一次也可以定义几个别名,他们中间用:号分隔,
  Host_Alias HT01=localhost,st05,st04,10,0,0,4,255.255.255.0,192.168.1.0/24 注:定义主机别名HT01,通过=号列出成员
  Host_Alias HT02=st09,st10 注:主机别名HT02,有两个成员;
  Host_Alias HT01=localhost,st05,st04,10,0,0,4,255.255.255.0,192.168.1.0/24:HT02=st09,st10 注:上面的两条对主机的定义,可以通过一条来实现,别名之间用:号分割;
  注:我们通过Host_Alias 定义主机别名时,项目可以是主机名、可以是单个ip(整段ip地址也可以),也可以是网络掩码;如果是主机名,必须是多台机器的网络中,而且这些机器得能通过主机名相互通信访问才有效。那什么才算是通过主机名相互通信或访问呢?比如 ping 主机名,或通过远程访问主机名来访问。在我们局域网中,如果让计算机通过主机名访问通信,必须设置/etc/hosts, /etc/resolv.conf ,还要有DNS做解析,否则相互之间无法通过主机名访问;在设置主机别名时,如果项目是中某个项目是主机名的话,可以通过hostname 命令来查看本地主机的主机名,通过w命令查来看登录主机是来源,通过来源来确认其它客户机的主机名或ip地址;对于主机别名的定义,看上去有点复杂,其实是很简单。
&&&[2]&&&&&
【责编:Yoyo】
?&[]?&[]?&[]?&[]?&[]?&[]?&[]?&[]?&[]?&[]
相关产品和培训
 友情推荐链接
 专题推荐
 ? ? ? ? ? ? ? ? ? ?
 今日更新
?&?&?&?&?&?&?&?&?&?&
 认证培训
 频道精选
 Windows频道导航
                      linux 下普通用户怎么切换到root用户?su和sudo都不好用,是我的系统么设置好吗?求高手指点
linux 下普通用户怎么切换到root用户?su和sudo都不好用,是我的系统么设置好吗?求高手指点
需要知道root密码才能su -过去
其他回答 (2)
sudo只是取得root的权限,并不能切换到root,,su也只是在终端中切换到root切换以后终端的提示符变成#而不是之前的$,,,这些也就够了,不要试图用图形界面登录root,这样的话整个的xwindow都会有root权限,系统就变得很危险了。
怎么获得root权限呢?
sudo啊,,普通用户用sudo 加命令就能让命令拥有root权限了。。
由于 Ubuntu 是基于 Debian 的 linux 操作系统,在默认的情况下,是没有超级用户(superuser, root)的,但有些系统操作必须有超级用户的权限才能进行,如手动释放内存等。 在其他 linux 操作系统 (如 fedora) 下,可以使用 su 切换到超级用户。 当输入 su 命令后, 系统会要求输入 root 的密码。 可是,在 Ubuntu 下我们根本不知道 root 的密码是什么。 这样,在 Ubuntu 下切换到超级用户需要使用其他方法,主要有两种: 1) sudo -i sudo 是 su 的加强版,意思是 do something as the supervisor。 不需要密码就可以得到 root 的权限。 但是它也有很多限制,比如,在默认的情况下,只能在 5 分钟之内使用 root 权限。 2) 如果想一直使用 root 权限,还是要使用 su, 还是要得到 root 密码的。 用 sudo passwd root 可以设置 root 的密码。 之后就可以自由使用 su 命令啦。
相关知识等待您来回答
操作系统领域专家当前位置:&>&&>&&>&
su与sudo命令不需要密码的设置方法
发布时间:编辑:JB02
本文介绍下,在linux下设置su与sudo不需要密码的方法,这二个linux命令用于使用root权限,在linux运维中用的很多,有需要的朋友作个参考。
本节内容:
设置su与sudo命令不需要密码。
一 设置sudo为不需要密码
有时只需要执行一条root权限的命令也要su到root,很不方便?
可以用sudo代替。
默认新建的用户不在sudo组,需要编辑/etc/sudoers文件将用户加入,该文件只能使用visudo命令,
1) 首先,切换到root, su - (注意有- ,这和su是不同的,在用命令&su&的时候只是切换到root,但没有把root的传过去,还是当前用乎的环境变量,用&su -&命令将环境变量也一起带过去,就象和root登录一样)
2) 然后,visudo 或者 vi /etc/sudoers, visudo 这个和vi的用法一样
移动,到一行root ALL=(ALL)&& ALL的下一行,按a,进入append模式,输入:
your_user_name ALL=(ALL)&& ALL
然后按Esc,再输入:w保存文件,再:q退出
把自己加入了sudo组,可以使用sudo命令了。
3) 默认5分钟后刚才输入的sodo密码过期,下次sudo需要重新输入密码,如果觉得在sudo的时候输入密码麻烦,把刚才的输入换成如下内容即可:
your_user_name ALL=(ALL) NOPASSWD: ALL
至于安全问题,对于一般个人用户,我觉得这样也可以的。
4)如果你想设置只有某些命令可以sudo的话,
your_user_name&& ALL= (root) NOPASSWD: /sbin/, (root) NOPASSWD: /bin/umount, (root) NOPASSWD: /mnt/mount, (root) NOPASSWD: /bin/rm, (root) NOPASSWD: /usr/bin/make, (root) NOPASSWD: /bin/ln, (root) NOPASSWD: /bin/sh, (root) NOPASSWD: /bin/mv, (root) NOPASSWD: /bin/chown, (root) NOPASSWD: /bin/chgrp, (root) NOPASSWD: /bin/cp, (root) NOPASSWD: /bin/chmod
注意: 有时将用户设了nopasswd,但是不起作用,原因是被后面的group的设置覆盖了,需要把group的设置也改为nopasswd。
复制代码 代码示例:
joe ALL=(ALL) NOPASSWD: ALL
%admin ALL=(ALL) NOPASSWD: ALL
二,设置su为不需要密码
如果需要对某用户su命令也不需要输入密码,则需要修改下列的:
1)切换到root权限;
2)创建group为wheel,命令为groupadd wheel;
3)将用户加入wheel group中,命令为usermod -G wheel joe;
4)修改su的配置文件/etc/pam.d/su,增加下列项:
复制代码 代码示例:
auth&&&&&& d&& pam_wheel.so group=wheel
# Uncomment this if you want wheel members to be able to
# su without a password.
&auth&&&&&& sufficient pam_wheel.so trust use_uid
至此,就可以无密码使用如下命令了:
复制代码 代码示例:
su joe -c command
本文标题:
本页链接:
12345678910}

我要回帖

更多关于 ubuntu sudo su 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信