Linux下通过受限bash创建指定权限的账号代码详解
<p>本文研究的主要是在Linux下通过受限bash创建指定权限的账号的相关内容,具体介绍如下。</p><p>在日常业务运维中,有时为了配合解决问题,需要给非运维人员开通系统账号,用于查询日志或代码。通常为了系统安全或避免不必要的误操作等目的,会将账号权限降至最低。下面介绍下在Linux下通过受限bash创建指定权限账号的操作记录:</p>
<div class="jb51code">
<pre class="brush:bash;">
# ln -s /bin/bash/bin/rbash
# useradd -s /bin/rbash wangshibo
# passwd wangshibo
# mkdir /home/wangshibo/bin
# chown root. /home/wangshibo/.bash_profile
# chmod 755 /home/wangshibo/.bash_profile
# vim /home/wangshibo/.bash_profile //复制下面的内容覆盖原内容
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$HOME/bin
export PATH<br data-filtered="filtered">
# ln -s /bin/cat /home/wangshibo/bin/cat
# ll /home/wangshibo/
total 4
drwxr-xr-x 2 root root 4096 Nov 25 23:38 bin
# ll /home/wangshibo/bin/
total 0
lrwxrwxrwx 1 root root 8 Nov 25 23:12 cat -> /bin/cat</pre>
</div>
<p>如上设置后,可以发现创建的wangshibo用户家目录下的文件权限是root.root,上面只设置了wangshibo用户的cat权限,并且只能cat查看wangshibo用户家目录<strong>/home/wangshibo</strong>下的文件。除了cat命令外。不能执行其他命令!</p>
<div class="jb51code">
<pre class="brush:plain;">
$ cat /var/log/messages
cat: /var/log/messages: Permission denied
$ ls
-rbash: /home/wangshibo/bin/ls: No such file or directory
$ touch test
-rbash: /home/wangshibo/bin/touch: No such file or directory</pre>
</div>
<p>如果要想在其家目录下有其他命令的执行权,那么需要添加这些命令的软链接到<strong>/home/wangshibo/bin</strong>目录下(可以通过which命令查看二进制命令的全路径)</p>
<div class="jb51code">
<pre class="brush:plain;">
# ln -s /bin/ls /home/wangshibo/bin
# ln -s /bin/touch /home/wangshibo/bin
# ln -s /bin/mkdir /home/wangshibo/bin
# ln -s /usr/bin/vim /home/wangshibo/bin/
# ll /home/wangshibo/bin/
total 0
lrwxrwxrwx 1 root root8 Nov 25 23:12 cat -> /bin/cat
lrwxrwxrwx 1 root root7 Nov 25 23:44 ls -> /bin/ls
lrwxrwxrwx 1 root root 10 Nov 25 23:45 mkdir -> /bin/mkdir
lrwxrwxrwx 1 root root 10 Nov 25 23:44 touch -> /bin/touch
lrwxrwxrwx 1 root root 12 Nov 25 23:45 vim -> /usr/bin/vim</pre>
</div>
<p>这样,wangshibo用户就拥有了上面加入的命令的执行权</p>
<div class="jb51code">
<pre class="brush:ps;">
# su - wangshibo
$ ls
bin
$ touch test
$ mkdir ops
$ vim test
$ cat test
dsfdsafsadf
$ rm -f test
-rbash: rm: command not found
$ ls /usr/
binetcgamesincludeliblib64libexeclocalsbinsharesrctmp
$ cat /var/log/messages
cat: /var/log/messages: Permission denied</pre>
</div>
<p>以上就是琼殿技术社区分享给大家的关于Linux下通过受限bash创建指定权限的账号代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!</p>
頁:
[1]