linux开个子用户记录
@
背景
公司算法要和unity对接业务,因为要不断实时看日志,开始我是帮看的,但是我手头有点急活,也不能一直让我帮看日志情况,这个也没有接入阿里云日志,所以我想还不如直接给算法开个子账号,让他自己登录进去看日志,解放我的时间
科普setfacl命令
首先先科普下setfacl这个命令,他的全称是Set File Access Control List,设置ACL(访问控制列表)的命令
作用:在不改变文件原始所有者(owner/group)的前提下,额外授权给指定用户或组特定权限(如读、写、执行)。
这比 chmod 777 安全得多,也比 chown 更灵活。
创建新用户
我的目的是想给一个新账号开下特定目录的访问权限,首先就先创建个用户
# 使用root执行
sudo adduser sadmin
sudo passwd sadmin
授权指定路径
我想给这个用户/var/lib/docker/containers/33974216a514555331efc7a2deee5dee9edf68835a8b4724a87ac69513576dff这个路径的访问权限
# 1. 授权路径遍历(让 sadmin 能“走到”目标目录)
sudo setfacl -m u:sadmin:x /var
sudo setfacl -m u:sadmin:x /var/lib
sudo setfacl -m u:sadmin:x /var/lib/docker
sudo setfacl -m u:sadmin:x /var/lib/docker/containers
# 2. 授权目标目录:读 + 进入(rx)
sudo setfacl -R -m u:sadmin:rx /var/lib/docker/containers/33974216a514555331efc7a2deee5dee9edf68835a8b4724a87ac69513576dff
# 如果想授予文件夹写权限,命令如下参考
1. 授权已有文件
sudo setfacl -R -m u:sadmin:rwx /var/lib/docker/containers/33974...
2. 设置默认权限(未来文件自动获得 rwx)
sudo setfacl -R -d -m u:sadmin:rwx /var/lib/docker/containers/33974...
授予docker权限
执行下面命令,这样他就能直接运行docker logs 了
sudo usermod -aG docker sadmin
小结
通过以上操作就能实现开个账号和权限给别人了,同时也兼顾了安全性。

浙公网安备 33010602011771号