Linux4.0 Linux系统中的用户管理

Linux学习之路



1.用户及用户组存在的意义

用户存在的意义:
系统资源是有限的,如何合理分配系统资源?在解决这个问题时必须有用户身份,有了用户身份才能进行分配。
系统的安全和稳定依靠3A机制来维持。
3A机制即身份(account)、授权(author)、认证(auth)
3A机制组成系统中最底层的安全架构。
用户组存在的意义:
用户组是一个逻辑容器,对用户进行归类和统一授权。(相当于对用户共享权利)


2.用户及用户组在系统中的存在方式

用户在系统中的存在方式是一串数字。这串数字称为用户的id。Linux中/etc/passwd中记录了用户的名字和用户的id的对应关系。
新建用户的过程就是在/etc/passwd文件中添写用户id以及其他相关信息的过程。添写成功则表明该用户存在了。
用户存在的方式就是/etc/passwd 文件中的一行字符
用户组存在的方式就是/etc/group 文件中的一行字符


3.用户切换

用户查看

whoami  //显示当前的用户名称
id  //查看当前的用户id
id -u westos //查看用户westos的id信息
id -g westos  //查看用户westos的组id
id -G westos  //查看用户westos的所有组id
id -n westos  //不可单独使用,显示名称

用户id范围:
0-65535
0: Linux超级用户ID
1-999: Liunx系统自用ID
1000-65535: 用户级ID
以上ID设定规则都被记录在/etc/login.defs

在这里插入图片描述

用户切换

su -username   //切换为用户username
			   //其中的-的作用:切换用户身份的同时页切换用户所在的系统环境,必须要加。
				//切换之后,只有在该shell中是切换后的用户环境。
				//其他位置比如桌面还是登录用户的环境
exit 			//退出用户username,

注意:在做用户切换时当使用完毕用户身份及时退出不要在一个shell中反复执行su命令,否则会导致环境错乱。由高级别用户切换为低级别用户不需要输入密码。低级别用户切换为平级用户或者高级用户需要输入密码。
在这里插入图片描述


用户涉及到的系统配置文件

/etc/passwd  //用户身份信息文件
用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell

在这里插入图片描述

/etc/group  //组身份信息文件
组名称: 组密码: 组id: 组的附加成员:

在这里插入图片描述

/etc/skel/.*  // 用户环境配置文件模板。用户建立时会把/etc/skel/中的配置文件复制到用户家目录中作为配置文件。
/etc/shadow  //用户认证信息文件

在这里插入图片描述

/home/username   // 用户家目录
/var/spool/mail/username  //用户邮箱文件
/etc/login.defs   //建立用户时的默认规则

5.用户和用户组建立及删除

watch  -n 1 "tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home" 
					 		//监控用户建立的命令
					 		//每秒钟监控一次命令的执行过程
useradd username		    //用户建立
useradd -u id username  	//用户建立同时指定用户id
useradd -g id username  	//用户建立同时指定用户的主组id
useradd -G id username 	    //用户建立同时指定用户的附加组id
useradd -d dir username     //用户建立同时指定用户的家目录
useradd -M username 	    //建立用户时不建立家目录
useradd -c word username    //指定用户说明
useradd -s shell username   //指定用shell
groupadd goupname           //建立组
groupadd -g id groupname    //建立组同时指定组id
groupdel groupname          //删除组

6用户和用户组的信息管理

usermod -l targetname sourcename //更改用户名称
usermod -u id username			 //更改用户username的id
usermod -g gid username			 //更改用户username的主组id
usermod -G fid username 		 //更改用户附加组id 
usermod -aG fid username 		 //添加用户附加组身份
usermod -c "shuoming" username   //更改用户说明
usermod -d dir username 		 //更改家目录指向
usermod -md dir username 		 //更改家目录指向同时更改家目录名称
usermod -s shell username        //更改默认shell
usermod -L shell username 		 //冻结账号
usermod -U shell username		 //解锁
groupmod -g gid groupname		 //更改用户组id


7.用户认证信息管理

/etc/shadow 文件内容说明
用户名称;用户密码的加密字符;用户密码最后一次被修改时间;密码最短有效期;密码最长有效期;密码过期前警告期;账号非活跃期;账号到期时间;用户自定义(未使用)
passwd -S user //查看密码状态
passwd  user //更改user的密码
		     //超级用户更改密码不需要知道原密码
echo 123 | passwd --stdin lee   //仅限超级用户
passwd //普通用户自己改密码
 	   //普通用户修改密码有密码强度的限制,超级用户没有
passwd -e lee  //密码使用天数:从1970-1-1算其到今天的时间
 			   //修改默认使用时间为0
chage -d 0 lee //账号必须改密码才能登陆系统
//密码最短有效期
passwd -n 1 lee //lee在1天内不能改密码
chage -m 1 lee
//密码最长有效期
passwd -x 40 lee //40天内lee用户必须更新密码否则会被冻结
chage -M 40 lee
//密码过期警告
passwd -w 2 lee //账号过期前警告时间
chage -W 2 lee
//认证非活跃天数
passwd -i 2 lee //账号认证最大时间超过后还能用多久
chage -I 2 lee
//账号认证到期时间
chage -E "2020-05-11" //到2020-5-11这天账号到期会被冻结

8.用户权力下放

  • 在系统中普通用户时无法执行系统管理命令,如果需要普通用户执行系统管理动作,那么需要root用户来进行授权。
  • 普通用户授权方式 “sudo”
  • 作用:可以使普通用户使用指定的用户身份运行命令.
  • 授权方法:
visudo            // 此命令作用是编辑/etc/sudoers并提供语法检测
				  //在文件的100行左右 (代码规范性)
username  hostname=(newusername)  [NOPASSWD:] /command, /command1
lee      linux.westos.com=(root)     /usr/sbin/useradd
//lee用户 在linux.wesots.com主机=(用超级用户身份) 执行useradd命令

westos linux.wesots.com = (root) NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel
//westos用户 在linux.wesots.com 使用超户 免密 执行useradd 和 userdel
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值