小编cwd*_*cwd的帖子

如何启用定位和排队要构建的数据库?

在新的 Ubuntu 10.4 实例上,我尝试使用该locate命令仅接收错误

locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
Run Code Online (Sandbox Code Playgroud)

在其他系统上使用此命令时,我猜测这意味着尚未构建数据库(这是全新安装)。我相信它应该每天运行,但我如何将它排队立即运行?

另外,“每天运行”是如何确定的?如果我有一个每次只打开一个小时的盒子,数据库是否会自行构建?

command-line cron files locate

43
推荐指数
1
解决办法
5万
查看次数

apache 和 PHP 应该以什么用户身份运行?/var/www 文件应该有什么权限?

我刚刚启动了一个 Ubuntu 11.10 盒子,然后跑去apt-get install apache2 php5在盒子上安装 apache2 和 PHP 5。现在它作为一个“网络服务器”运行并加载“It Works!” 页。现在我正在努力加强安全性,我对 linux web 服务器有以下问题:

  1. apache 应该以谁的身份运行?
  2. 该用户应该属于哪个组?
  3. 哪些包可以使 PHP(和 Apache?)作为文件的所有者运行?(比如在共享网络主机上)我应该使用这些包吗?在小型系统上维护它们是否容易/可行?
  4. 对于以 apache 运行的方式提供给网络的文件和文件夹的默认权限应该是什么www-data?对于以用户身份运行的 apache/php?

我在检查默认设置时做了以下事情:

文件结构

当我cd /和做ls -al的内容列表,我看到/var

drwxr-xr-x 13 root root  4096 2012-02-04 20:47 var/
Run Code Online (Sandbox Code Playgroud)

如果我cd进入var并且确实ls -al看到:

drwxr-xr-x  2 root root  4096 2012-02-04 20:47 www/
Run Code Online (Sandbox Code Playgroud)

最后,在里面/var/www我看到:

drwxr-xr-x  2 root root 4096 2012-02-04 20:47 ./
drwxr-xr-x 13 root root …
Run Code Online (Sandbox Code Playgroud)

linux security users php apache-httpd

43
推荐指数
2
解决办法
14万
查看次数

如何使用 vim 粘贴(覆盖)?

vim我使用yyp所有的时间猛拉和粘贴线条。但是,如果我想在文件中的多个位置替换一行,则无法使用,yy p dd p因为dd 删除了到剪贴板/寄存器的行。虽然我应该知道如何更好地使用寄存器,但我觉得可能有一种方法可以p替换当前行。

vim vi

37
推荐指数
4
解决办法
2万
查看次数

如何“cat”一个文件并删除注释行?

我想知道是否有一种方法可以cat归档php.ini并删除所有以开头的行;

例如,如果文件包含以下内容:

;   - Show all errors, except for notices
;
;error_reporting = E_ALL & ~E_NOTICE
;
;   - Show only errors
;
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
;
;   - Show all errors except for notices
;
error_reporting  =  E_ALL & ~E_NOTICE
Run Code Online (Sandbox Code Playgroud)

我运行了正确的命令cat | {remove comments command},然后我会得到:

error_reporting  =  E_ALL & ~E_NOTICE
Run Code Online (Sandbox Code Playgroud)

-我认为cat会做到这一点的最好办法,但实际上,我细使用其他实用程序一样的答案awksedegrep,等。

linux command-line grep replace cat

33
推荐指数
4
解决办法
6万
查看次数

如何查看我使用的 VI 编辑器的版本?

如何查看vi我拥有的编辑器版本?vim在 Solaris 上升级或安装的最佳方法是什么?

vim solaris vi

31
推荐指数
2
解决办法
5万
查看次数

如何使用 Amazon EC2 实例阻止一系列 IP 地址?

我知道一定范围的 IP 地址导致我的服务器出现问题,172.64.*.*阻止访问我的 Amazon EC2 实例的最佳方法是什么?有没有办法使用安全组来做到这一点,或者最好使用服务器本身的防火墙来做到这一点?

security firewall ip amazon-ec2

31
推荐指数
2
解决办法
7万
查看次数

linux 用户可以在不知道当前密码的情况下更改密码吗?

我正在设置几个ubuntu盒子,并使用 opscodechef作为配置工具。在这些服务器中的每一个上为每个用户安装公钥并禁用密码身份验证是相当容易的。

但是,用户也应该具有sudo特权,默认情况下需要密码。

如果我想使用用户的公钥作为访问管理的一种方法并允许用户sudo权限,这是否意味着我还应该使用NOPASSWD: ALLin设置用户visduo,或者有没有办法让用户可以更改自己的密码,如果他们只有公钥认证?

users password ssh ubuntu sudo

31
推荐指数
3
解决办法
10万
查看次数

如何一起使用 bash 的 if test 和 find 命令?

我有一个包含崩溃日志的目录,我想在基于 find 命令的 bash 脚本中使用条件语句。

日志文件以这种格式存储:

/var/log/crashes/app-2012-08-28.log
/var/log/crashes/otherapp-2012-08-28.log
Run Code Online (Sandbox Code Playgroud)

我希望 if 语句仅在特定应用程序的崩溃日志在过去 5 分钟内被修改时才返回 true。find我会使用的命令是:

find /var/log/crashes -name app-\*\.log -mmin -5
Run Code Online (Sandbox Code Playgroud)

我不确定如何将其if正确地合并到声明中。我认为这可能有效:

if [ test `find /var/log/crashes -name app-\*\.log -mmin -5` ] then
 service myapp restart
fi
Run Code Online (Sandbox Code Playgroud)

有几个地方我不清楚:

  • 我查看了if 标志,但我不确定应该使用哪一个(如果有)。
  • 我是否需要该test指令,还是应该直接针对 find 命令的结果进行处理,或者可能用于find... | wc -l获取行数?
  • 不是 100% 有必要回答这个问题,而是test为了测试命令返回的返回码?而且它们有点不可见 - 在stdout/之外stderr?我阅读了该man页面,但我仍然不清楚何时使用test以及如何调试它。

scripting bash find shell-script test

30
推荐指数
2
解决办法
10万
查看次数

如何设置 logrotate 以每小时轮换日志?

根据Unix和Linux管理手册和man,logrotate的有选项dailyweekly以及monthly,但有一种方法来添加一个hourly选项?

本博客文章中提到,您可以设置size 1和删除的时间选项(如:daily),然后手动调用logrotatecron-我想是这样

logrotate -f /etc/logrotate.d/my-hourly-file
Run Code Online (Sandbox Code Playgroud)

但是有没有更优雅的每小时轮换日志的解决方案?

linux logrotate

28
推荐指数
2
解决办法
6万
查看次数

如何跟踪谁通过 SSH 进入我的 Linux 机器?

我正在运行 Ubuntu 10.04。有什么方法可以让我每天报告谁登录了盒子,什么时间,甚至 - 这可能要求太多 - 他们使用的命令的报告?这是一个使用率较低的盒子,所以我认为这是查看其上正在发生的活动的好方法。

按照同样的思路,我听说无法通过非交互式 shell(例如 rsync)或仅通过 ssh 远程执行单个命令来跟踪在盒子上完成的事情。这是真的,还是有办法记录和跟踪这一点?

security ssh logs

27
推荐指数
2
解决办法
6万
查看次数