小编Pro*_*eur的帖子

cron 执行作业时的“工作目录”是什么?

我有一个脚本,当我从命令行运行它时cron,它可以工作,但是当我用它来安排它时,我收到了找不到文件或命令的错误。我的问题是双重的:

  1. 当我使用 调度 cron 作业时crontab -e,它是否使用我的用户 ID 作为其权限的基础?或者它是否使用某种类型的 cron 用户 ID 及其相关权限?

  2. 启动 cron 作业时,工作目录是什么?它是我指定要运行的脚本的目录,还是其他目录?

这是我的 cron 工作:

15 7 * * * /home/xxxx/Documents/Scripts/email_ip_script.sh
Run Code Online (Sandbox Code Playgroud)

这是实际的脚本:

vIP_ADDR="`curl automation.whatismyip.com/n09230945.asp`"
echo "$vIP_ADDR"
sed "s/IPADDR/$vIP_ADDR/g" template.txt > emailmsg.txt
ssmtp XXXXX@gmail.com < emailmsg.txt
Run Code Online (Sandbox Code Playgroud)

以下是我在查看由mail产生的消息时得到的错误cron

sed: can't read template.txt: No such file or directory
/home/xxxx/Documents/Scripts/email_ip_script.sh: line 15: ssmtp: command not found
Run Code Online (Sandbox Code Playgroud)

它找不到,template.txt但它与脚本位于同一目录中。它也不能运行ssmtp,但我可以作为我的用户。我缺少什么才能使其正常工作?

cron directory path cd-command

217
推荐指数
5
解决办法
23万
查看次数

您可以拥有的僵尸进程数量是否有上限?

我曾经使用 HP-UX 系统工作,老管理员告诉我系统上可以拥有的僵尸进程数量有一个上限,我相信是 1024。

  • 这是一个硬性事实上限吗?我认为您可以拥有任意数量的僵尸,就像您可以拥有任意数量的进程一样......?
  • 不同发行版的价值不同吗?
  • 如果我们达到上限并尝试创建另一个僵尸会发生什么?

process kill hp-ux limit zombie-process

17
推荐指数
1
解决办法
4145
查看次数

将 sSMTP 更新到 2.61 版后,我无法通过 gmail 发送邮件

我将 sSMTP 更新到 2.61 版,现在当我尝试使用它时,我收到以下错误:

ssmtp: Cannot open smtp.gmail.com:587
Run Code Online (Sandbox Code Playgroud)

我可以通过 telnet 连接到他们的地址,但 sSMTP 似乎被绊倒了,我不确定更新后发生了什么变化。

这里是 ssmtp.conf

root=XXXXX@gmail.com
mailhub=smtp.gmail.com:587
RewriteDomain=gmail.com
Hostname=localhost
UseTLS=YES
UseSTARTTLS=Yes
AuthUser=XXXXX
AuthPass=XXXXX
FromLineOverride=yes
Run Code Online (Sandbox Code Playgroud)

通过 telnet 连接时的输出:

[root@soupcan sbin]# telnet smtp.gmail.com 587
Trying 74.125.142.108...
Connected to smtp.gmail.com.
Escape character is '^]'.
220 mx.google.com ESMTP l7sm7330049igx.2 - gsmtp
quit
221 2.0.0 closing connection l7sm7330049igx.2 - gsmtp
Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)

当我尝试使用时的输出 sSMTP

[root@soupcan sbin]# /usr/sbin/ssmtp -v XXXXX@gmail.com < /home/user/Documents/Scripts/msg.txt
[<-] 220 mx.google.com ESMTP f5sm7367852igc.4 - gsmtp
[->] EHLO localhost …
Run Code Online (Sandbox Code Playgroud)

ssmtp

11
推荐指数
1
解决办法
3万
查看次数

在我的安全日志中添加了一个新组,在添加 semanage 后我不确定

我安装semanage到我的CentOS 6.2盒子上,安装后我正在查看我的安全日志并注意到这个条目:

Aug 31 22:12:17 xxxx groupadd[12929]: group added to /etc/group: name=cgred, GID=489
Aug 31 22:12:17 xxxx groupadd[12929]: group added to /etc/gshadow: name=cgred
Aug 31 22:12:17 xxxx groupadd[12929]: new group: name=cgred, GID=489
Run Code Online (Sandbox Code Playgroud)

我找不到有关组的任何信息cgred我确实找到了这篇关于控制组的Arch Linux Wiki 文章,这是什么?

只是寻找信息以确保我知道我的盒子发生了什么。

security logs centos group

6
推荐指数
1
解决办法
2279
查看次数

我应该更改二进制文件的权限吗?

我正在运行CentOS 6.2nginx以 root 身份安装。安装后,我将安装的所有者和组更改为它自己的用户和组,以确保更安全。

我以 root 身份登录并运行yum update更新nginx,我注意到很多文件所有者组都恢复为 root。

有没有办法在执行更新时保留我想要的所有权?也许以nginx用户身份登录并执行更新(甚至可能还是推荐?)

permissions

2
推荐指数
1
解决办法
517
查看次数