Linux系统用户定义及用户管理

简介:在Linux系统里面,用户是系统使用者的身份。在企业里员工的人员的变动,以及级别的改动都会使系统中使用者的身份和权限发生改变。所以我们需要去理解用户的定义,如何去管理用户。有些文件需要或者功按企业的实际规定会对使用者有差别不对等的限制,就需要运维工作人员去处理。下面会详细介绍用户的定义及用户管理。

一.用户理解

   用户就是系统使用者的身份(root超级用户,student、tom等一些普通用户,身份不同,权限也不同。超级用户有所有的权限,同时超级用户的权限也可以下放到普通用户,像公司的管理高层就需要像超级用户root差不多级别的权限)
  1. 用户信息涉及到的配置文件/etc,/home

在系统中用户存储为若干窜字符+若干个系统配置文件。这些文件我们可以通过图形方式查看,一般情况下我们在操作Linux命令的时候,会在shell里直接用vim命令进行编辑模式。
用户信息涉及到的系统配置文件:
/etc/passwd ###用户信息
用户:密码:uid:gid:说明:家目录:用户使用的shell
/etc/shadow ###用户认证信息
用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group ###组信息
组名称:组密码:组id:附加组成员
/etc/gshadow ###组认证信息
/home/username ###用户家目录
/etc/skel/.* ###用户骨架文件

二.用户管理

1.用户建立

useradd 参数 用户名字
-u ##指定用户uid
-g ##指定用户初始组信息,这个组必须已经存在
-G ##指定附加组,这个组必须存在
-c ##用户说明
-d ##用户家目录
-s ##用户所使用的shell,/etc/shells记录了用户能使用shell的名字

[root@desktop27 Desktop]# useradd tom ##创建tom用户
[root@desktop27 Desktop]# id tom ##查看tom的id地址
uid=1001(tom) gid=1001(tom) groups=1001(tom)
##默认组id, 附加组id等于用户id
[root@desktop27 Desktop]# useradd -u 1001 harry ##设定harry的初始组id是1001
useradd: UID 1001 is not unique
##报错,tom的id是1001,id是唯一性,所以不能创建
-g root -G student marry ##指定marry的附加组是student
[root@desktop27 Desktop]# id leo
uid=5001(leo) gid=0(root) groups=0(root)
[root@desktop27 Desktop]# id marry
uid=5002(marry) gid=0(root) groups=0(root),1000(student)
##附加组1000(student

2.用户删除

userdel -r 用户名称 -r表示删除用户信息及用户的系统配置

[root@desktop27 Desktop]# userdel tom      ##删除用户tom
[root@desktop27 Desktop]# id tom           ##查看已经删除了
id: tom: no such user
[root@desktop27 Desktop]# userdel student    
userdel: group student not removed because it has other members.
                    ##student有多个身份,包括组名,附加组,所以删除不了student
[root@desktop27 Desktop]# userdel -r student
userdel: user 'student' does not exist ##student用户已经被删除了
[root@desktop27 Desktop]# id student
id: student: no such user

这里写图片描述

3.组的建立
groupadd -g ##建立组
groupdel 组名字 ##删除组

[root@desktop27 Desktop]# groupadd shenchan   ##创建shenchan组   
[root@desktop27 Desktop]# useradd -g shenchan hello ##将hello分配给shenchan 组
[root@desktop27 Desktop]# id hello      
uid=1002(hello) gid=1004(shenchan) groups=1004(shenchan)
[root@desktop27 Desktop]# groupdel shenchan
groupdel: cannot remove the primary group of user 'hello'
     ##用户在这个组里,该组不能不被删除,得清空组里成员才能删除
   格式: 改变用户名,chmod -l 修改的名字 现名字
[root@desktop27 Desktop]# usermod -l tomtom tom 
usermod: warning: /var/spool/mail/tom not owned by tom  
[root@desktop27 Desktop]# usermod -u 5999 tomtom
[root@desktop27 Desktop]# usermod -L hello
[root@desktop27 Desktop]# usermod -U hello
[root@desktop27 Desktop]# 

作以上实验的监控命令:
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt’

4.用户id信息查看

id 参数 用户
-u ##用户uid
-g ##用户初始组id
-G ##用户所有所在组id
-n ##显示名称而不是id数字
-a ##显示所有信息

[root@desktop27 Desktop]# id -u tom
1000   ##用户id
[root@desktop27 Desktop]# id -g tom
1001   ##组id
[root@desktop27 Desktop]# id -G tom
1001   ##附加组id
[root@desktop27 Desktop]# id -Gn tom
tom    ##y用户名
[root@desktop27 Desktop]# id -a tom     ##-a查看用户的所有信息
uid=1000(tom) gid=1001(tom) groups=1001(tom)

这里写图片描述

5.用户信息更改

usermod 参数 用户
-l ##更改用户名称
-u ##更改uid
-g ##更改gid
-G ##更改附加组
-aG ##添加附加组
-c ##更改说明
-d ##更改家目录指定
-md ##更改家目录指定及家目录名称
-s ##更改shell
-L ##冻结帐号
-U ##解锁
这里写图片描述

三.用户权力下放

1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户

下放权力配置文件:/etc/sudoers


权限下放
[hello@desktop27 ~]$ useradd hello1234
-bash: /usr/sbin/useradd: Permission denied
[hello@desktop27 ~]$ logout
[root@desktop27 ~]# visudo    ##等同于vim /etc/sudoers

hello desktop27.example.com=(root) NOPASSWD: /usr/sbin/useradd
##用户hello在执行usr/etc/useradd时等同与超级用户root
[root@desktop27 ~]# su - hello
Last login: Sat Jul 22 01:51:56 EDT 2017 on pts/1   
[hello@desktop27 ~]$ sudo /usr/sbin/useradd hello1234 ##用sudo命令去执行
[sudo] password for hello:          
[hello@desktop27 ~]$ id hello1234  ##查看创建成功
uid=6000(hello1234) gid=6000(hello1234) groups=6000(hello1234)

==免密码
[hello@desktop27 ~]$ sudo /usr/sbin/useradd hello12345
[hello@desktop27 ~]$ id hello12345
uid=6001(hello12345) gid=6001(hello12345) groups=6001(hello12345)

这里写图片描述

这里写图片描述

2.下放权力的方法

*)超级用户执行visudo进入编辑/etc/sudoers模式
*)格式:
获得权限用户 主机名称=(获得到的用户身份) 命令
test desktop0.example.com=(root) /usr/sbin/useradd
test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd
需要密码

免密码

3.执行下放权限命令

sudo 命令 ##如果第一次执行sudo需要输入当前用户密码
在/etc/sudoers中如果设置如下:
test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd
表示用户调用sudo命令的时候不需要自己密码

四.用户认证信息的控制


chage 参数 用户
-d ##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
-m ##最短有效期
-M ##最长有效期
-W ##警告期
-I ##用户非活跃天数
-E ##帐号到期日格式 -E “YYYY-MM-DD”

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值