设为首页 收藏本站
查看: 452|回复: 0

[经验分享] sudo管理帐号权限

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-12-5 09:47:26 | 显示全部楼层 |阅读模式
大家都知道root是超级管理员,拥有无限大的权限,为了系统安全,尽量不要让root被人随便使用,或者远程登录进来。由此需要在Linux上创建一些管理帐号,那么这些帐号的权限如何分配呢?Linux 有sudo这些工作,sudo主要是配置那个用户可以使用那些帐号,使用visudo或者编辑"/etc/sudoers"可以修改参数。


[iyunv@localhost ~]# useradd lbx
[iyunv@localhost ~]# echo "qwe123" | passwd --stdin lbx
[iyunv@localhost ~]#vim /etc/soders

lbx     localhost.localdomain=/bin/mkdir,/bin/touch,/bin/rpm,/bin/ls
我添加了lbx这个用户
然后在/etc/sudoers中添加用户lbx的权限管理,可以创建文件和文件夹,安装rpm,显示目录。
[lbx@localhost opt]$ su lbx //用su切换到lbx
[lbx@localhost opt]$ mkdir test
mkdir: 无法创建目录 “test”: 权限不够                //显示无法创建目录
[lbx@localhost opt]$ sudo mkdir test                //使用sudo提权,由此可以使用命令mkdir
Password:
[lbx@localhost opt]$ ls                        //密码会保留一段时间,不用sudo提权,也可以使用命令ls
setup  test

[lbx@localhost opt]$ sudo -k        //清除保留的密码
[lbx@localhost opt]$ touch file
touch: 无法触碰 “file”: 权限不够
[lbx@localhost opt]$ sudo touch file
[lbx@localhost opt]$ ls
file  setup  tes


[iyunv@localhost opt]# useradd user1
[iyunv@localhost opt]# useradd user2       
[iyunv@localhost opt]# echo "qwe123"|passwd --stdin user1
Changing password for user user1.
passwd: all authentication tokens updated successfully.
[iyunv@localhost opt]# echo "qwe123"|passwd --stdin user2
Changing password for user user2.
passwd: all authentication tokens updated successfully.
//添加两个帐号user1和usser2 并分配密码

[iyunv@localhost ~]#vim /etc/soders
lbx     localhost.localdomain=/usr/bin/passwd
//修改/etc/sudoders,让lbx可以使用命令passwd

[iyunv@localhost opt]# su lbx
[lbx@localhost opt]$ sudo passwd user1
Changing password for user user1.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

//lbx可以修改user1的密码,但大家看以下这种情况,lbx居然可以root的密码,呵呵,有点宣兵夺主的感觉

[lbx@localhost opt]$ sudo passwd root
Changing password for user root.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

为了避免这种情况可以如下配置,让他可以使用passwd,但禁止修改root的password:
lbx     localhost.localdomain=/usr/bin/passwd,!/usr/bin/passwd root

效果出来了:
[iyunv@localhost opt]# su lbx
[lbx@localhost opt]$ sudo passwd root
Sorry, user lbx is not allowed to execute '/usr/bin/passwd root' as root on localhost.localdomain.




如果要管理的帐号有很多需要配置管理呢?那怎么配置?在系统账号管理方面,window做得很细致,可以分组管理,并且已经规划好权限。Linux也可以只是需要你自己去写。
User_Alias      OPERATORS=user1,user2
Cmnd_Alias      PKGTOOLS=/bin/mkdir,/bin/cp,/bin/touch,/bin/ls
OPERATORS       localhost.localdomain=PKGTOOLS
如上所示,Useeer_Alias格式创建了OPERATORS管理组,组中有用户user1和user2。Cmnd_Alias格式后面PKTOOLS指定允许使用的命令.



[user2@localhost opt]$ mkdir diretory
mkdir: 无法创建目录 “diretory”: 权限不够
[user2@localhost opt]$ sudo mkdir diretory

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:
[user2@localhost opt]$ sudo ls
diretory

mkdir: 无法创建目录 “diretory”: 权限不够,sudo提权以后可以获得操作权限。
[user2@localhost opt]$ sudo mkdir diretory

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:
[user2@localhost opt]$ sudo ls
diretory  file        setup  test
[user2@localhost opt]$ su user1
口令:
[user1@localhost opt]$ cd /tmp/
[user1@localhost tmp]$ sudo mkdir diretory

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:
[user1@localhost tmp]$ touch file
[user1@localhost tmp]$ ls
diretory



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-36312-1-1.html 上篇帖子: CentOS6.5下安装wine 下篇帖子: iptables的简单实例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表