Linux命令su、sudo、sudo su、sudo -i使用和区别

sudo 与 su 两个命令的最大区别是:
sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。另外一个区别是其默认行为。sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。
su  用以切换成不同的用户的身份
默认只是切换身份,并没有切换环境变量,环境变量依然是普通用户的。切换用户身份时,用户的环境变量也切换成新用户的环境变量,所以”-”不能省略,不然有些操作无法执行。
su root  输入root密码后切换之root用户但是pwd目录不变
su – root  输入root密码后切换之root用户但是pwd目录/root
sudo 一般加的是命令
sudo -i root与sudo – root、sudo -i ,sudo – ,sudo root效果相同    提示输入密码时该密码为当前账户的密码  要求执行该命令的用户必须在sudoers中才可以  su需要的是切换后账户的密 用法为“su 账户名称”
sudo : 暂时切换到超级用户模式以执行超级用户权限,一般指的是root用户,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。
su :切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。
sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。要求执行该命令的用户必须在sudoers中才可以
sudo -i 直接运行sudo命令加-i参数        要求执行该命令的用户必须在sudoers中才可以
sudo su 运行sudo命令给su命令提权,运行su命令。要求执行该命令的用户必须在sudoers中才可以。

sudo 与 su 两个命令的最大区别是:sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。另外一个区别是其默认行为。sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。
su  用以切换成不同的用户的身份
默认只是切换身份,并没有切换环境变量,环境变量依然是普通用户的。切换用户身份时,用户的环境变量也切换成新用户的环境变量,所以”-”不能省略,不然有些操作无法执行。su root  输入root密码后切换之root用户但是pwd目录不变
su – root  输入root密码后切换之root用户但是pwd目录/root
sudo 一般加的是命令sudo -i root与sudo – root、sudo -i ,sudo – ,sudo root效果相同    提示输入密码时该密码为当前账户的密码  要求执行该命令的用户必须在sudoers中才可以  su需要的是切换后账户的密 用法为“su 账户名称”sudo : 暂时切换到超级用户模式以执行超级用户权限,一般指的是root用户,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。su :切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。要求执行该命令的用户必须在sudoers中才可以
sudo -i 直接运行sudo命令加-i参数        要求执行该命令的用户必须在sudoers中才可以
sudo su 运行sudo命令给su命令提权,运行su命令。要求执行该命令的用户必须在sudoers中才可以。

Posted in Linux, 操作系统 | 评论关闭

隐藏文件夹故障案例

场景:

某天,创新公司的小张需要查看一个隐藏文件的内容,但是当他设置了显示隐藏文件功能后,隐藏文件并没有被显示出来,而且显示隐藏文件的菜单项仍旧是不显示,请帮他解决此问题。

Continue reading

Posted in IT运维, 计算机网络 | Tagged , | 评论关闭

Apache2.4.x与Apache2.2.x的一些区别

改用Apache2.4一段时间了,一直没发现它和Apache2.2的有什么区别,一些基本配置都是差不多,直到前几天配置虚拟主机是才发现了一些小小的不同
一直以来我都是在htdocs目录下配置虚拟主机的,大体上使用的方法如下:
01.<VirtualHost *:80>
02.    DocumentRoot  “D:/www/Apache24/htdocs”
03.    ServerName localhost
04.    <Directory D:/www/Apache24/htdocs>
05.        DirectoryIndex index.html index.php
06.    Order Deny,Allow
07.    Allow from all
08.    </Directory>
09.</VirtualHost>
但是最近我想在目录htdocs之外配置虚拟主机,还是按照上面的老套路来配置,结果出现的403错误:
1.<STRONG>Forbidden</STRONG>
2.You don’t have permission to access / on this server.
瞬间没了头绪,这是在Apache2.2所没有的出现过的情况啊,然后试着将虚拟主机的根目录改成htdocs目录之下,也就是
1.DocumentRoot  “D:/www/Apache24/htdocs/test”
发现网站又能正常运行了,反复试了多次都是同一的结果。然后我就想到底是哪个地方出现了问题,这个问题困扰了我几天,百度找了无数答案,大部分都是说目录的权限有错误,需要修改权限,或者是selinux设置的问题,可是我运行的环境是windows,所以这些情况也被排除在外;有些说是需要设置Allow from all ,也没有效果。
通过查看错误日志,发现有那么一行:
1.AH01630: client denied by server configuration: D:/www/
但是我的Order指令设置都是正确的,这样我郁闷了一段时间,无意中发现了一篇文章描述Apache2.4与Apache2.2之间的一些指令的差异,刚好解决了我的问题,
其中的一些指令已经无效,如:
1.Order Deny,Allow<BR>Deny from all<BR>Allow from al
取而代之的是:
1.Deny from all
2.变成
3.Require all denied
4.
5.Allow from all
6.变成
7.Require all granted
于是我将虚拟机配置为:
1.<VirtualHost *:80>
2.    DocumentRoot “D:/www/sphinx/api”
3.    ServerName www.mysphinx.com
4.    <Directory “D:/www/sphinx/api”>
5.    DirectoryIndex index.html index.php
6.    Require all granted
7.    </Directory>
8.</VirtualHost>
发现还是提示403错误,只不过这次的错误日志的错误变成:
1.AH01276: Cannot serve directory D:/www/sphinx/api/: No matching DirectoryIndex (index.html,index.php) found, and server-generated directory index forbidden by Options directive
这是因为里面的根目录里面没有index.html 或者 index.php,我们可以添加index.html文件或者将设置改成如下:
1.<VirtualHost *:80>
2.    DocumentRoot “D:/www/sphinx/api”
3.    ServerName www.mysphinx.com
4.    <Directory “D:/www/sphinx/api”>
5.    Options FollowSymLinks Indexes
6.    Require all granted
7.    </Directory>
8.</VirtualHost>
这样就算大功告成了,不过我敢肯定Apache2.4与Apache2.2的区别不止于此,只是我还没有发现而已,期待进一步的发现
Posted in Linux | 评论关闭