小编alt*_*ern的帖子

如何让unix服务看到环境变量?

我已经使用/etc/profile以下方法设置了我的环境变量:

export VAR=/home/userhome
Run Code Online (Sandbox Code Playgroud)

然后,如果我这样做,echo $VAR它会显示/home/userhome

但是当我把这个变量的引用放到/etc/init.d/servicename文件中时,它找不到这个变量。当我service servicename status使用/etc/init.d/servicename具有以下内容的文件运行时:

case "$1" in
status)    
    cd $VAR/dir
    ;;
esac
Run Code Online (Sandbox Code Playgroud)

它说 /dir: No such file or directory

但如果我运行/etc/init.d/servicename status而不是service servicename status

如何让 unix 服务看到环境变量?

init-script environment-variables services

57
推荐指数
1
解决办法
10万
查看次数

如何修复由于不正确的 fstab 导致的启动失败?

似乎我添加了不正确的记录/etc/fstab

//servername/share    /mnt/share    cifs     defaults,username=myuser     0 0
Run Code Online (Sandbox Code Playgroud)

当我这样做时mount -a,它要求用户密码来安装网络共享。似乎在启动时没有密码就无法继续,所以它只是挂了。

如何修复 fstab 以防止启动失败?

boot rhel mount fstab

34
推荐指数
1
解决办法
16万
查看次数

如果在“user”下使用“su -m user command”,请避免询问密码?

如果我在root用户下运行包含的脚本su -m user service userservice start,则不需要输入密码。但是当我在user用户下运行它时,它总是询问密码。这真让我烦恼。出于安全原因是否应该询问密码?su -m user command如果在以下环境下运行,有什么方法可以避免询问密码user

Edit1:su我需要避免当前用户输入密码的原因是/etc/init.d/scripts它对su -m user我安装的许多服务都有声明。如果我重新启动应该在当前用户下运行的服务,每次输入密码似乎很愚蠢。实际上,我在重新启动某些服务时需要输入密码两次。我可能同意这是某些init.d 脚本的一个功能,我需要做的就是稍微调整源代码,但我认为它可能会在级别上以某种方式修复,su以避免更改 init.d 脚本源代码。

users pam su non-root-user

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