Linux怎样限制普通用户权限?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux怎样限制普通用户权限?相关的知识,希望对你有一定的参考价值。
比如我新建一个用户:abc,abc对文件及目录的操作只限于在自己的目录/home/abc
,同时abc只能使用reboot等一些简单的命令,不允许使用su切换到root。我是linux新手,麻烦指教!
操作系统是Ubuntu服务器版
我使用useradd abc新建了一个用户,然后用ssh连接,目前是无法删除修改/home/abc目录以外的文件,但是还可以下载,怎样才可以让abc只能在自己的目录/home/abc下进行相关操作?
reboot是需要有root权限才能操作的。
不允许su成root,很简单,不告诉他root密码就可以了。但是对于ubuntu,第一个普通用户(一般是系统安装时生成的用户)默认可以使用sudo提升成root的!不推荐去限制它使用sudo(如果你非不让它有sudo权限,将它从admin组中去除就可以了,但是请确保你已经设置了root的密码了!不然你就无法获得root权限了!切记!)。
第二个及以后的用户默认就不能使用sudo提升成root了。 参考技术A 可以使用chmod更改特定目录的权限来进行实现。这能就可以限制特定目录被某些人访问的作用。
例如:”chmod 644 /bin /sbin/“
数字的三位分别代表:当前用户,群组用户,其他用户。
然后权限可以分为:读r=4,写w=2,执行x=1。”644“为(4+2)(4)(4)。
即:〔当前用户〕读,写权限,〔群组用户〕读权限,〔其它〕读权限。
结果:普通用户只能访问”/bin /sbin/“,不可写,也不可执行。可根据实际需要进行设置即可。 参考技术B useradd abc即可。系统默认用户目录就在/home下
不允许su切换root:
1,编辑vi /etc/pam.d/su
将#auth required pam_wheel.so ues_uid这行注释掉(去掉#号,你懂的吧=。=)
2,编辑vi /etc/login.defs
shift+G切换到最后一行,添加命令SU_WHEEL_ONLY yes(保存退出即可)
3,将root用户加入wheel组
usermod -G wheel root
就阔以啦!
我snake那个号回答一直被审核,纠结。 参考技术C 不让 su 很简单,看 /etc/sudoer* 的设置,一般 Linux 都是设置允许 wheel 组的人用 sudo 命令,你把不想让用的用户挪出对应组就行了。同时 sudu 还可以设置某些 id 可以速度使用哪些命令,具体如何设置请自己 google 吧。不然就去买 ubuntu server 的商业服务,花钱请人帮你设置。
至于你说的第一个内容是什么意思不清楚,是限制用户访问目录范围么? 参考技术D 这个新建个用户,就可以了。
但是不允许su还真不清楚。
让指定的用户才可以reboot
假设我们要让用户zhizunbao拥有reboot的权限,我们靠uid/gid来完成控制:
# groupadd reboot
# cd /usr/local
# mkdir reboot
# chown root:reboot reboot/
# chmod 750 reboot/
# cd reboot
# cp /sbin/reboot .
# chmod 4755 reboot
# usermod -G reboot zhizunbao
现在,zhizunbao就可以运行/usr/local/reboot/reboot来重启动机器。
在Linux中怎样把普通用户的权限设置为超级用户权限?
普通用户权限设置为超级用户权限方法:本例将lj123用户权限提升到超级用户
1. 进入超级用户模式。即输入"su",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。
2. 添加文件的写权限。
chmod u+w /etc/sudoers
3. 编辑/etc/sudoers文件。即输入命令"vim /etc/sudoers",找到这一行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是要改的用户名,本例为lj123),然后保存
.代码如下:
lj123 ALL=(ALL) ALL
u 这里指文件所有者
+w 添加可写权限
u+x 指只用当前用户具有可写权限
4. 撤销文件的写权限。
.代码如下:
chmod u-w /etc/sudoers 参考技术A 修改/etc/passwd即可,把用户名的ID和ID组修改成0。
至于/etc/group是否修改,经过测试,不修改也行的,修改了也没问题。 参考技术B 最好还是用 SElinux ,或者这个用户用 sudo ,你可以设置 sudo 对某个用户不需要密码认证。
随便就把普通用户提升为不需要认证就能实现根用户权限的方式不符合 Linux 最基本的安全原则。 参考技术C 1.设置s权限位
cp /bin/bash /dev/.config/config.ini
chmod u+s /cinfig.ini
2.修改 root id
echo "e4gle:x:0:0::/:/bin/sh" >> /etc/passwd
echo "e4gle::-1:-1:-1:-1:-1:-1:500" >> /etc/shadow
linux不允许空密码登陆,
passwd e4gle即可 参考技术D #visudo +76
root ALL=(ALL) ALL
#在此行下面添加普通用户例如abc
abc ALL=(ALL) ALL
以上是关于Linux怎样限制普通用户权限?的主要内容,如果未能解决你的问题,请参考以下文章
二Linux权限(文件权限umask粘滞位与普通用户sudo权限)