redis 進程使用root用戶啓動 -- 整改方案

 

 

最近內部風險整改, 各類進程使用root身份進行啓動不符合要求, redis

因而各路神仙各施其法,爲的就是讓 某進程不以root 啓動:bash

 

先以 redis 爲例: 測試

原有進程以下:spa

#超一流標準的執行文件位置及配置文件位置日誌

root     9602      1  0 23:25 ?        00:00:00   /usr/bin/redis-server  /etc/redis/redis.conf   server

 

因而有了如下操做:進程

一 、簡單直接類ip

# kill -9 9602get

# su   redisit

This account is currently not available

# usermod -s /bin/bash

# su redis 

# /usr/bin/redis-server  /etc/redis/redis.conf   

因而redis由一個非登陸用戶變成了一個登錄用戶,並且下次開機仍是要手動啓動一次進程。。 

 

2、開機啓動類

# echo 'su -c "/usr/bin/redis-server  /etc/redis/redis.conf" redis ' >> /etc/rc.local

測試了一下

#  /bin/bash /etc/rc.local

This account is currently not available

# vi  /etc/rc.local  

把redis改成了 newuser

# useradd newuser

#  /bin/bash /etc/rc.local

因而服務開機啓動設置成功,但redis被棄用了。。

 

三 、 服務設置類 (推薦)

# echo '

[Unit]
Description=redis daemon

[Service]

Type=forking

#這個是配置啓動用戶
User=redis
ExecStart= /usr/bin/redis-server  /etc/redis/redis.conf   
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

'  >  /usr/lib/systemd/system/redisd.service

# chown -R redis /var/log/redis/     (日誌文件redis須要有讀寫權限,具體日誌文件位置不細說 個人就看成放在這裏)

# systemctl start redisd

# systemctl enable redisd 

Created symlink from /etc/systemd/system/multi-user.target.wants/redisd.service to /usr/lib/systemd/system/redisd.service

# ps -ef|grep redisd

redis     10175      1  0 23:52 ?        00:00:00 /usr/bin/redis-server *:6379

設置成了服務自啓動,仍是以redis用戶啓動了,是否是很高大上?

相關文章
相關標籤/搜索