深度挖掘Linux下之用户权限的管理

1.用户存在的意义

系统的用户 user是最底层的安全机制,有了用户之后比较隐私,对用户的处理就是对文件的处理

2.组存在的意义

 初始组:先开始的默认组,不能决定的组
 附加组:是在初始组之上新增了一些内容
 用户是用户(回收一部分权利),组是组,各有各的机制,组内具有共享的权力,可以有无数个附加组,因为可以有无数个权力

3.用户的查看

(1)查看当前用户
 westos ##查看当前用户
(2)系统中用户的查看
id ##查看制定用户id信息

id
-u ##查看用户的uid
-g ##查看用户的gid
-G ##查看用户所在的所有组的id
-n ##显示名字而不显示id数字id

**注意:不可以单独使用-n,必须结合-G使用**

代码演练

[student@workstation Desktop]$ id student     ##查看student 的id
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)  ##uid用户id;
##gid 组id  groups 所有组的id
[student@workstation Desktop]$ id root
uid=0(root) gid=0(root) groups=0(root)
[student@workstation Desktop]$ id -u student
1000
[student@workstation Desktop]$ id -g student
1000
[student@workstation Desktop]$ id -G student
1000 10
[student@workstation Desktop]$ id -G  -n student
student wheel
[student@workstation Desktop]$ id -Gn student
student wheel
[student@workstation Desktop]$ id -u root
0
[student@workstation Desktop]$ id -g root
0
[student@workstation Desktop]$ id -G root
0
[student@workstation Desktop]$ id -Gn root
root
[student@workstation Desktop]$ id -G -n root
root
[student@workstation Desktop]$ 

4.用户的切换

gonme-session-quit --force ##注销当前用户,再用其他用户登陆

su - 用户名称
 su - 中“-”表示在用户身份切换时同时切换当前用户的环境
 su - 执行时高级用户切换到地级用户不需要密码,低级用户切换到高级需要密码,平级用户之间切换也需要密码
su - 中加-会改变用户环境,如果不加-就只是改变用户的身份
注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户。在切换的时候,每次都会开启一个新的shell(人物管理器中的bash),切换的越多,问题就越多,可以依次退出,exit。应该每次用完一个用户之后,就立刻关闭。最多两个(不算错误)。

代码演练

[student@workstation ~]$ su - root
Password: 
Last login: Fri Dec 27 18:41:18 EST 2019 on pts/0
[root@workstation ~]# su - student
Last login: Fri Dec 27 18:43:33 EST 2019 on pts/0
[student@workstation ~]$ su - root
Password: 
Last login: Fri Dec 27 18:45:08 EST 2019 on pts/0
[root@workstation ~]# su - westos
Last login: Fri Dec 27 18:41:29 EST 2019 on pts/0
[westos@workstation ~]$ su - root
Password: 
Last login: Fri Dec 27 18:46:08 EST 2019 on pts/0
[root@workstation ~]# su - westos
Last login: Fri Dec 27 18:46:18 EST 2019 on pts/0
[westos@workstation ~]$ su - student
Password: 
Last login: Fri Dec 27 18:45:26 EST 2019 on pts/0
[student@workstation ~]$ 

用户身份的切换及环境变量

注意:高级用户向低级用户切换时不需要密码;反之需要密码;平级别切换需要密码

[student@workstation ~]$ su - root
Password: 
Last login: Fri Dec 27 18:41:18 EST 2019 on pts/0
[root@workstation ~]# su - student
Last login: Fri Dec 27 18:43:33 EST 2019 on pts/0
[student@workstation ~]$ su - root
Password: 
Last login: Fri Dec 27 18:45:08 EST 2019 on pts/0
[root@workstation ~]# su - westos
Last login: Fri Dec 27 18:41:29 EST 2019 on pts/0
[westos@workstation ~]$ su - root
Password: 
Last login: Fri Dec 27 18:46:08 EST 2019 on pts/0
[root@workstation ~]# su - westos
Last login: Fri Dec 27 18:46:18 EST 2019 on pts/0
[westos@workstation ~]$ su - student
Password: 
Last login: Fri Dec 27 18:45:26 EST 2019 on pts/0
[student@workstation ~]$ 

用户组的建立删除和移动

注意:在进行演练的时候先开启一监控,能够更加清楚的看到实验的效果
监控代码: watch -n 1 “tail -n 5 /etc/password /etc/group; echo ====;ls -l /home/”

示例演练(单个的建立)

监控命令:watch -n 1 "tail -n 5 /etc/password /etc/group; echo ====;ls -l /home/"
[root@workstation Desktop]# useradd westos	##建立一个用户名
[root@workstation Desktop]# userdel -r westos	##删除一个用户名
[root@workstation Desktop]# useradd westos	
[root@workstation Desktop]# groupadd westos	##建立一个用户组
groupadd: group 'westos' already exists	
[root@workstation Desktop]# groupadd westos1	####建立一个用户组
[root@workstation Desktop]# groupdel westos1	####删除一个用户组
[root@workstation Desktop]# groupadd -g 888 westos1  ##指定id
[root@workstation Desktop]# groupmod -g 1001 westos1 ##更改id
groupmod: GID '1001' already exists
[root@workstation Desktop]# groupmod -g 1002 westos1

指定用户名的建立&两者同时建立

eg:

[root@workstation Desktop]# userdel westos  ##删除一个用户名
[root@workstation Desktop]# useradd -u 666 -g 666 westos   ##同时建立一个用户名和用户组并且指定其ID
useradd: group '666' does not exist
[root@workstation Desktop]# groupadd -g 666 westos    ##建立用户组
[root@workstation Desktop]# useradd -u 666 -g 666 westos

用户名&组信息的更改

-l 更改用户名字的大小写
-u 给用户名设置指定id
-g 给用户组设置指定id
-G 更改附加组的名称
-aG 添加附加组的
-c 指定用户的说明(可以没有)
-d 指定用户的家目录
-s 指定用户的默认shell

代码实例

[root@workstation Desktop]# useradd  westos                  ##添加一个用户
[root@workstation Desktop]# usermod -l WESTOS westos         ##更改用户的大小写
[root@workstation Desktop]# usermod -l westos WESTOS
[root@workstation Desktop]# usermod -u 666 westos            ##给用户名设置指定id
[root@workstation Desktop]# usermod -g 40  westos	     ##给用户组设置指定id
[root@workstation Desktop]# usermod -g 1001  westos          
[root@workstation Desktop]# id westos			    ##查看用户id
uid=666(westos) gid=1001(westos) groups=1001(westos)
[root@workstation Desktop]# usermod -G dip  westos	   ##更改附加组的名称
[root@workstation Desktop]# usermod -G 21  westos          ##更改附加组的id
[root@workstation Desktop]# id westos
uid=666(westos) gid=1001(westos) groups=1001(westos),21(slocate)
[root@workstation Desktop]# usermod -G 40  westos
[root@workstation Desktop]# id westos
uid=666(westos) gid=1001(westos) groups=1001(westos),40(dip)     
[root@workstation Desktop]# usermod -aG 40  westos          ## 添加附加组的
[root@workstation Desktop]# id westos
uid=666(westos) gid=1001(westos) groups=1001(westos),40(dip)
[root@workstation Desktop]# usermod -G ""  westos          ##删除一个附加组
[root@workstation Desktop]# id westos 
uid=666(westos) gid=1001(westos) groups=1001(westos)
[root@workstation Desktop]# usermod -c "WESTOS USER"  westos  ##指定用户的说明(可以没有)
[root@workstation Desktop]# usermod -c ""  westos          ##删除指定用户的说明
[root@workstation Desktop]# usermod -d /home/haha  westos  ##指定用户的家目录
[root@workstation Desktop]# usermod -s /bin/sh  westos    ##指定用户的默认shell
[root@workstation Desktop]# usermod -d /home/westos  westos
[root@workstation Desktop]# usermod -md /home/haha  westos
[root@workstation Desktop]# usermod -s /bin/sh  westos
usermod: no changes
[root@workstation Desktop]# usermod -s /bin/she  westos
[root@workstation Desktop]# usermod -s /bin/sh  westos
[root@workstation Desktop]# 

部分更改的截屏
注意:
<1>-G 之后既可以接组的名字也可以接id,不能把一个不存在的组id给用户
<2>-G 表示要更改一个用户的附加组,删除所有的附加组的命令为usermod -G “” westos
<3>使用-G 时,如果已有附加组,则会替代那个附加组,若想两个都存在,则需要用usermod -aG 进行添加
<4>usermod -md /home/haha ##对用户的家目录进行更改(-md的顺序不能变)

用户权限的下放

 学习步骤:
1、在超级用户下建立一个普通用户
2、给普通用户赋予超级用户的权限
    方法1、(有密码):root环境下调用 visodu
         大约100 行左右添加 格式如下:普通用户  	普通用户的hostname=(root)		/bin/sbin/useradd  /bin/sbin/userdel
         切换到普通用户下:su -  普通用户

 
    方法2、(无密码):root环境下调用 visodu
         大约100 行左右添加 格式如下:普通用户  	普通用户的hostname=(root)	NOPASSWD:	/bin/sbin/useradd  /bin/sbin/userdel
         切换到普通用户下:su -  普通用户
         
3、用普通用户实现在建立另一个普通用户(注意:原则上只有超级用户可以实现建立一个普通用户,在这里的普通用户拥有超级用户的权限)
命令:sodu		useradd			另一个新用户

示例代码:

无密码时visor 代码的添加
权利下放的部分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值