乐趣区

关于linux:linux创建只读用户

最近运维思考到生产服务器安全性,要将所有用户权限都发出去,然而开发这边心愿可能领有只读权限的用户,这样遇到一些问题还能够本人登录下来看一下,缩小不必要的沟通老本。运维那边始终说创立一个只读权限的用户很麻烦,要目录一一改什么的,总之不太违心做,而后我尝试了一下如何在 linux 上创立只读用户,以此来打运维的脸,我这里基于 centos7 零碎。

创立用户

第一步必定是要创立一个用户,这步非常简单执行以下命令即可

useradd -s /bin/bash test

这里还是要阐明一下,该命令就是说创立一个用户 test,指定登录后应用的 shell,也就是可执行的一些命令。
而后给新建的用户设置一下明码

passwd test

shell 环境筹备

第二步就是要给新建的用户筹备好可执行的 shell 环境援用,目标就是限度用户能够应用的命令,比方 ls、less 这些罕用的命令原本能够间接应用,通过这一步就能够进行限度。
创立一个 shell 的援用目录

mkdir /home/test/.bin

批改目录权限

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

批改 bash 配置文件,这一步就是为了让新建用户援用新的 shell 脚本目录,这样用户能够应用哪些命令就往里面加哪些,能够本人管制。如下图圈进去的中央,把原来的 PATH 门路正文掉,应用新的 PATH 门路。

使环境变量失效

su - test
source /home/test/.bash_profile

退出能够执行的命令

将容许执行的命令链接到 $HOME/.bin 目录下,也就是咱们上一步建的 /home/test/.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

这里加了很多罕用的命令只是举例,能够依据本人的需要增减。

总结

通过下面 3 步就实现了只读用户的创立,但实际上该用户 并不是实际意义上的只读。咱们晓得 linux 下有三种权限,r(读)、w(写)、x(执行),在第一步咱们创立一个新用户的时候,新用户自身对于现有目录就没有批改的权限,只是领有执行和读的权限,第二、三步的目标就是为了尽量限度执行的权限,但实际上咱们会发现并没有限制住,只不过是对于 linux 新人,他们不晓得 linux 命令的真正源端在哪,须要他人给一步一步加可执行命令,实际上咱们应用新用户间接 cd 到 /bin 目录下也是能够执行所有命令的,只是麻烦一些而已。

退出移动版