LINUX添加只读用户(查日志专用)

参考博客:

1
2
3
4
5
6
7
https://blog.csdn.net/weixin_33794672/article/details/89621391
https://blog.csdn.net/yk10010/article/details/88976021
https://blog.csdn.net/hch15112345824/article/details/88816064
https://www.cnblogs.com/anech/p/6920509.html
https://blog.csdn.net/bob_tthp/article/details/84936169
https://www.cnblogs.com/xiaochaoyxc/p/6206481.html
https://blog.csdn.net/manyueonline/article/details/48913767?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

 

第一步:添加用户并设置能够在shell上使用的命令

#1.创建用户和登录shell

useradd -s /bin/bash test

这步不要指定rbash,否侧cd等內建命令无法使用

#2.修改用户密码

passwd test

#3.创建用户shell执行命令目录

mkdir /home/test/.bin

#4.root修改用户的shell配置文件

chown root. /home/test/.bash_profile
chmod 755 /home/test/.bash_profile

#5.修改bash配置文件,主要是指定PATH的读取

复制代码

复制代码
[swallet@iZj6c6g9pt4wd4xt1xi69zZ ~]$ cat .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH
复制代码

#切换到只读账号使环境变量生效

su - test
source /home/test/.bash_profile

复制代码

#6.将允许执行的命令链接到$HOME/.bin目录

复制代码

复制代码
ln -s /usr/bin/wc /home/test/.bin/wc
ln -s /usr/bin/tail /home/test/.bin/tail
ln -s /bin/more /home/test/.bin/more
ln -s /bin/cat /home/test/.bin/cat
ln -s /bin/grep /home/test/.bin/grep
ln -s /bin/find /home/test/.bin/find
ln -s /bin/pwd /home/test/.bin/pwd
ln -s /bin/ls /home/test/.bin/ls
ln -s /bin/less /home/test/.bin/less
ln -s /bin/tar /home/test/.bin/tar
复制代码

第二步:在相应服务的log日志文件夹授权

chmod说明(u:与文件属主拥有一样的权限[a:所有人];+:增加权限;rwx:可读可写可执行)   -R:递归所有目录和文件

chmod a+rwx -R logs 

第三步:验证

在只读账号上

[test@iZj6c6g9pt4was4xt1xi69zZ cat_wallet]$ tail -100f logs/catalina.out 
2020-03-26 14:31:44,126 DEBUG (BaseJdbcLogger.java:159)- ==>  Preparing: SELECT id AS id,parent_id AS parensplay_orde AS mobileRegisterAmount,auth_register_amount AS authRegisterAmount,email_bind_amount AS emailBindAmount,transfer_CAT_status AS transferCatStatus,transfer_USDT_status AS transferUsdtStatus,transfer_CAG_status AS trAS rechargeGptStatus,cash_CAT_status AS cashCatStatus,cash_USDT_status AS cashUsdtStatus,cash_CAG_status AS cashCag
2020-03-26 14:31:44,128 DEBUG (BaseJdbcLogger.java:159)- <==      Total: 110
2020-03-26 14:31:45,612 DEBUG (BaseJdbcLogger.java:159)- ==>  Preparing: SELECT id AS id,parent_id AS parentId,parent_ids AS parentIds,`name`,nickname,logo_url AS logoUrl,child_status AS childStatus,hidden_status AS hiddenStatus,child_ids AS chi......

 

完美...............................................................................................................................................................................................

posted @   大风歌兮  阅读(6353)  评论(0编辑  收藏  举报
编辑推荐:
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
阅读排行:
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 接口重试的7种常用方案!
点击右上角即可分享
微信分享提示