Linux服务器各软件的用户配置
1. 创建用来ssh的用户,先看useradd和userdel的帮助文档
~$ useradd -h
用法:useradd [选项] 登录
useradd -D
useradd -D [选项]
选项:
-b, --base-dir BASE_DIR 新账户的主目录的基目录
-c, --comment COMMENT 新账户的 GECOS 字段
-d, --home-dir HOME_DIR 新账户的主目录
-D, --defaults 显示或更改默认的 useradd 配置
-e, --expiredate EXPIRE_DATE 新账户的过期日期
-f, --inactive INACTIVE 新账户的密码不活动期
-g, --gid GROUP 新账户主组的名称或 ID
-G, --groups GROUPS 新账户的附加组列表
-h, --help 显示此帮助信息并推出
-k, --skel SKEL_DIR 使用此目录作为骨架目录
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库
-m, --create-home 创建用户的主目录
-M, --no-create-home 不创建用户的主目录
-N, --no-user-group 不创建同名的组
-o, --non-unique 允许使用重复的 UID 创建用户
-p, --password PASSWORD 加密后的新账户密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 新账户的登录 shell
-u, --uid UID 新账户的用户 ID
-U, --user-group 创建与用户同名的组
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
~$ userdel -h
用法:userdel [选项] 登录
选项:
-f, --force 即使不属于此用户,也强制删除文件
-h, --help 显示此帮助信息并推出
-r, --remove 删除主目录和邮件池
-R, --root CHROOT_DIR chroot 到的目录
-Z, --selinux-user 为用户删除所有的 SELinux 用户映射执行命令创建manager用户,并设置密码:
# useradd -d /home/manager -m -U -s /bin/bash manager # passwd manager 输入新的 UNIX 密码: 重新输入新的 UNIX 密码: passwd:已成功更新密码
使用manager用户登录后可以使用su命令,输入root的密码切换成root用户.
manager@server:/$ su 密码: root@server:/#
修改/etc/ssh/sshd_config的PermitRootLogin为no来禁止root通过ssh登录
2. 创建nginx用户来运行nginx
#useradd -lMU -s /usr/sbin/nologin nginx
修改nginx.conf
user nginx;
如果nginx只访问静态文件,则nginx用户需对静态文件目录需有x权限,静态文件有r权限
3. 创建tomcat用户来运行tomcat
# useradd -lMU -s /bin/bash tomcat #这里需配置/bin/bash,否则无法运行tomcat
修改$TOMCAT_HOME/bin/startup.sh,设置使用tomcat用户来运行tomcat
#在头部增加
user=tomcat # tomcat run user
#在底部删除
exec "$PRGDIR"/"$EXECUTABLE" start "$@"
#在底部增加
if [ "$USER" != "$user" ];then
exec su "$user" "$PRGDIR"/"$EXECUTABLE" start "$@"
else
exec "$PRGDIR"/"$EXECUTABLE" start "$@"
fi运行bin/startup.sh(使用root用户运行、或者输入root用户的密码)
4. 创建jetty用户来运行jetty (针对jetty8.1.16)
# useradd -lMU -s /usr/sbin/nologin jetty
修改$JETTY_HOME/bin/jetty.sh,设置使用jetty用户来运行jetty
#在头部增加
JETTY_USER=jetty
#如果用root用户来运行,会把JETTY_RUN目录设为/var/run,这样启动多个jetty时,jetty.pid文件会重复,所以最好将JETTY_PID,JETTY_STATE按如下方式修改
#这行修改为下面这行
JETTY_PID="$JETTY_RUN/jetty.pid"
JETTY_PID="$JETTY_HOME/logs/jetty.pid"
#这行修改为下面这行
JETTY_STATE=$JETTY_HOME/jetty.state
JETTY_STATE=$JETTY_HOME/logs/jetty.state
#设置内存
RUN_ARGS=(${JAVA_OPTIONS[@]} -Xmx2g -Xms2g -Xmn1g -XX:PermSize=256m -XX:MaxPermSize=512m -Xss256k -jar "$JETTY_START" $JETTY_ARGS "${CONFIGS[@]}")
#设置tmp
修改TMPDIR=${TMPDIR:-jettytmp}为TMPDIR=${TMPDIR:-/tmp}
或者在JETTY_HOME目录下建jettytmp目录,并设置jetty用户有rwx权限可以运行bin/jetty.sh check来输出参数查看是否正确
运行bin/jetty.sh start来启动jetty,注意web工程目录和logs日志目录对jetty用户的权限,还得确保jdk目录对jetty用户的权限.
相关推荐
YoungLinux 2020-09-16
zhongcanw 2020-07-25
bluecarrot 2020-07-18
xiaoemo0 2020-06-16
applecarelte 2020-06-12
TangCuYu 2020-06-05
csdnyasin 2020-04-26
学峰的学习笔记 2020-03-19
linuxhh 2020-03-05
linuxhh 2020-02-24
dongfangxiaozi 2020-02-13
jackalwb 2020-02-03
hnllei 2020-01-31
onlykg 2020-01-13
Ongoingcre 2020-01-06
SoarFly00 2020-01-06
fenxinzi 2019-12-25
bigNoseLiu 2013-08-20