小编Val*_*ami的帖子

如何确定系统是否使用 SysV、Upstart 或 Systemd initsystem

是否有一种简单的方法可以找出正在使用的 initsystem,例如最近的系统Debian wheezyFedora系统正在使用哪个 initsystem ?我知道Fedora 21使用systemdinitsystem 但那是因为我读过它并且因为所有相关的脚本/符号链接都存储在/etc/systemd/. 但是,我不确定例如Debian squeezeCentOS 6 or 7等等。

有哪些技术可以验证这种初始化系统?

linux systemd init upstart sysvinit

97
推荐指数
4
解决办法
11万
查看次数

使用 noexec 选项在文件系统上执行 bash 脚本或 ac 二进制文件

任何人都可以详细解释以下内容。让我们假设我正在安装一个带有noexec选项的目录,如下所示:

mount -o noexec /dev/mapper/fedora-data /data
Run Code Online (Sandbox Code Playgroud)

所以为了验证这一点,我跑了mount | grep data

/dev/mapper/fedora-data on /data type ext4 (rw,noexec,relatime,seclabel,data=ordered)
Run Code Online (Sandbox Code Playgroud)

现在/data我正在创建一个简单的脚本hello_world,如下所示:

#!/bin/bash

echo "Hello World"
whoami
Run Code Online (Sandbox Code Playgroud)

因此,我使脚本可执行chmod u+x hello_world(但这对带有noexec选项的文件系统没有影响)并尝试运行它:

# ./hello_world
-bash: ./hello_world: Permission denied
Run Code Online (Sandbox Code Playgroud)

但是,准备bash文件会产生:

# bash hello_world
Hello World
root
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个简单hello_world.c的内容如下:

#include <stdio.h>

int main()
{
    printf("Hello World\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译它使用 cc -o hello_world hello_world.c

现在运行:

# ./hello_world
-bash: ./hello_world: Permission denied
Run Code Online (Sandbox Code Playgroud)

所以我尝试使用它来运行它

/lib64/ld-linux-x86-64.so.2 hello_world …
Run Code Online (Sandbox Code Playgroud)

linux filesystems bash fedora c

13
推荐指数
2
解决办法
3967
查看次数

让 uwsgi 在重启时创建“/run/uwsgi”文件夹的最佳方法是什么?

我已经设置了一个 Django 项目来与 uwsgi 和 nginx 一起运行,并且一切都按预期运行,只是当我重新启动时,uwsgi 将无法正确启动,直到在 fs 上重新创建 /run/ 文件夹。/run 映射到 'tmpfs',因此需要在每次启动时重新创建。

我有一个为 uwsgi 创建的 systemd 服务文件:

[Unit]
Description=uWSGI Module
After=syslog.target

[Service]
ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi.ini
Restart=always
KillSignal=SIGQUIT
Type=notify
StandardError=syslog
NotifyAccess=main

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

/etc/uwsgi.ini文件如下所示:

[uwsgi]
uid = uwsgi
gid = uwsgi
pidfile = /run/uwsgi/uwsgi.pid
stats = /run/uwsgi/stats.sock
socket = /run/uwsgi/uwsgi.sock
master = true
processes = 1
chdir = /path/to/our/django/app
module = icscada
max-requests = 100
daemonize = /var/log/uwsgi.log
Run Code Online (Sandbox Code Playgroud)

/run/uwsgi在每次启动时重新创建文件夹的推荐方法是什么?

systemd uwsgi

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

标签 统计

linux ×2

systemd ×2

bash ×1

c ×1

fedora ×1

filesystems ×1

init ×1

sysvinit ×1

upstart ×1

uwsgi ×1