十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、切换root身份不同
创新互联-专业网站定制、快速模板网站建设、高性价比平和网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式平和网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖平和地区。费用合理售后完善,十余年实体公司更值得信赖。
su命令:su只是切换了root身份,但shell环境仍然是普通用户的shell;而su-连用户和shell环境一切切换成root身份了。只有切换了shell环境才不会出现PATH环境变量错误,报command not found的错误。
su-命令:su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su-命令切换以后,工作目录变成root的工作目录了。
2、采用su deploy命令后,取目标用户不同
su命令:su不会读取目标用户的环境配置文件。
su-命令:su-读取目标用户的环境配置文件。
3、service命令
su命令:使用su root切换到root用户后,不可以使用service命令;
su-命令:使用su-后,就可以使用service命令了。
4、用echo $PATH命令后,环境量不同
su命令:环境量变为usr。
su-命令:环境量变为oracle。
1、切换root身份不同
su命令:su只是切换了root身份,但shell环境仍然是普通用户的shell;而su-连用户和shell环境一切切换成root身份了。只有切换了shell环境才不会出现PATH环境变量错误,报command not found的错误。
su-命令:su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su-命令切换以后,工作目录变成root的工作目录了。
2、采用su deploy命令后,取目标用户不同
su命令:su不会读取目标用户的环境配置文件。
su-命令:su-读取目标用户的环境配置文件。
3、service命令
su命令:使用su root切换到root用户后,不可以使用service命令;
su-命令:使用su-后,就可以使用service命令了。
4、用echo $PATH命令后,环境量不同
su命令:环境量变为usr。
su-命令:环境量变为oracle。
用su命令切换用户,su-切换超级用户。
如果不需要Administrator账户,可以依次打开“开始→控制面板→管理工具→计算机管理”。
在“计算机管理”窗口,展开“系统工具→本地用户和组→用户”,在“用户”右边窗口双击Administrator账户,在弹出的“属性”窗口中选中“账号已停用”前的复选框(如图2),按“确定”即可停用Administrator账户。
su和sudo这两个命令是Linux运维必须要会的,通常在生产环境中都是使用普通帐号来登录,再使用su或sudo来执行一些管理命令。
su:run a shell with substitute user and group ids
-,-l,--login 切换后使用指定用户的的shell。
-c,--command=COMMAND 可以在不切换当前shell的情况下,用指定的用户来执行一个命令;
如果在su的时候没有加”-“或“-l”或“--login”那么默认的会使用 当前用户 的shell来执行 ;
sudo的配置文件是: /etc/sudoers ,该文件可以定义哪个用户可以在哪个机器上以哪个用户的身份来执行哪些命令;
在配置sudo时必须使用 visudo 来编辑配置文件,因为使用visudo可以检查修改后的文件的语法是否正确;
可以将上面的配置行分成四部分:part1 part2 part3 part4
例如:
那么如果用户的数量过多的时候是不是要为每个用户来创建一个条目呢,很显示这样做是不科学的。所以sudo就引入了别名的概念,其实和组也差不多;
alias定义的语法:
要注意的是,这个Alias的名称一定要大写;
user1是一个用户,user2是一个组,所以user2的前面要加上%
可以使用主机名,IP地址,网段(网段的掩码可以写成255.255.255.0,也可以写成/24)
命令必须使用绝对路径。如果只指定了一个目录,那么用户就可以执行该目录下的所有的文件;上面的“=”右边的都可以使用“!”来取反。表示除了xxx以外;
例子 :请允许user1,user2,user3在192.168.20.44和192.168.10.0/24网段的机器上使用sudo切换到root用户来执行useradd和setup命令;
然后就可以使用user1,user2,user3这三个用户去测试了;
注意:当用户第一次执行sudo命令的时候是需要用户输入自己的密码的。当第一次输入正确后,这个密码就会被缓存5分钟,在5分钟内用户再次使用sudo来切换身份执行命令的时候就不需要再次输入自己的密码。
这样呢有些时候会有一个安全隐患,所以为了去掉这个5分钟,可以在使用sudo命令的时候加上“-k”参数,这样用户在每次执行sudo命令的时候都会让用户输入自己的密码。
如果想让某个用户在执行sudo的时候不需要输入自己的密码,那么可以在命令的前面添加NOPASSWD。/etc/sudoers的内容如下:
这样的话,user1,user2,user3这三个用户在执行指定的命令的时候就不需要输入自己的密码了。
如果其中的命令有的需要输入密码,有的不需要输入密码的话,那就把PASSWD:写在那些命令的前面。或是把NOPASSWD:写在最后一个命令中;
例子:让用户user4使用passwd来管理用户的密码,但是不能给root用户设置密码:
注意:如果最后不加上!/usr/bin/passwd root的话,那么会有很大的漏洞,user4可以修改root用户的密码;当添加上后,user4再次执行sudo passwd root的时候就会提示: