ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux系统中的用户管理

2022-01-19 21:01:28  阅读:190  来源: 互联网

标签:lee ## 系统 用户 passwd Linux root id


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

1)用户存在的意义 系统资源是有限的,如何合理分配系统资源?

在这个问题解决时必须要有连个资源配合

1.身份 account

2.授权 author

3.认证 auth

3A机制,3A机制组成系统中最底层的安全架构

2)用户组存在意义

用户组是一个逻辑容器 对用户进行归类和统一授权

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

 id <-------> 名称 必须要记录到文件当中用户才能存在 

用户就是/etc/passwd文件中的一行字符

用户组存在的方式就是/etc/group 文件中的一行字符

 #3.用户切换#

 1)用户查看

whomai         ##查看当前用户
id             ##查看用户id信息
id user        ##查看用户user信息
id -u          ##查看用户的用户id
id -g          ##查看用户主组id
id -G          ##查看用户所有的组的id
id -n          ##显示名称,不能单独使用,要和-g,-G,-u一块用

用户id范围: 0-65535

0:                     ##Linux超级用户ID

1-999:           ##Liunx系统自用ID

1000-65535: ##用户级ID

                       ##以上ID设定规则都被记录在/etc/login.defs

 2)用户切换

su - username   ##切换到username环境
-     ##切换用户环境
username ##如果root ----> commonuser 不需要后者密码
         ##commonuser ----> root 需要密码
         ##commonuser ----> commonuser 需要密码

注意:在做用户切换时当使用完毕用户身份及时退出
           不要在一个shell中反复执行su命令
           在一个shell中反复执行su命令会导致环境错乱

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

(1)/etc/passwd ##用户身份信息文件 

westos:x:1000:1000::/home/westos:/bin/bash
#用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell 

(2)/etc/group    ##组身份信息文件 
westos:x:1000:      #组名称:组密码:组id:组的附加成员

(3)/etc/skel/.*    ##用户环境配置文件模板 (4)/etc/shadow   ##用户认证信息文件 用户名称:用户密码的加密字符:用户密码最后一次被修改的时间:密码最短有效期:密码最长有效期:密码过期前警告期:账号非活跃期:账号到期时间:用户自定义(未使用) (5)/home/username     ##用户家目录

 

(6)/var/spool/mail/username     ##用户邮箱文件 # 5.用户和用户组建立及删除#

watch -n 1 "tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home"
              ##监控用户建立的命令

1) 用户建立

useradd username ##用户建立
       -u id username ##uid
       -g id username ##主组id
       -G id username ##附加组id
       -d dir username ##指定用户家目录
       -M username ##建立用户时不建立家目录
       -c word username ##指定用户说明
       -s shell username ##指定用shell

注意:    uid 2**16=0-65535
               ##0 表示超级用户
               ##1-200 系统预留id
               ##201-999 系统用户
               ##1000-60000 用户级用户
               ##/etc/login.defs 记录用户建立的默认规则 

 

 

 

 

2)用户删除 

userdel -r username ##用户删除 -r 删除用户的系统配置文件
userdel username ##删除用户,但用户的家目录仍存在

3)用户组建立和删除

groupadd groupname     ##组建立
         -g id groupname    ##指定组名称
groupdel groupname          ##组删除

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

usermod
-l #更改用户名称
-u #更改用户id
-g #更改主组id
-G #更改用户附加组身份
-aG #添加用户附加组身份
-c #更改用户说明
-d #更改家目录指向
-md #更改家目录指向同时更改家目录名称
-s #更改默认shell
-L #冻结账号
-U #解锁

 

 

 

groupmod -g      ##更改用户组id

 # 7.用户认证信息管理 #

/etc/shadow 文件内容说明

用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期: 账号非活跃期:账号到期时间:用户自定义(未使用) 

1)用户名称

passwd -S lee ##查看密码状态

密码位置有"!“表示账号被冻结,”!!“表示时passwd命令冻结的,”!“是usermod命令冻结,冻结程度不同,另外,仅有”!!"说明账户被冻结,且未给账户设定登陆密码。


2)用户加密字符
更改密码

passwd lee     ##只有root可以执行 “echo 123 | passwd --stdin lee”
passwd         ##普通用户改密码
##Changing password for user lee.
##Current password: #输入原始密码
##New password: ##输入新密码(8位以上无序数字+无序字母组合)
##Retype new password: ##重复输入
##passwd: all authentication tokens updated successfully.


冻结认证 

passwd -l lee ##冻结账号认证
passwd -u lee ##解锁账号认证


密码删除 

passwd -d lee


密码使用天数     *从1970-1-1算其到今天的时间

passwd -e lee ##修改默认使用时间为0
chage -d 0 lee ##账号必须改密码才能登陆系统


密码最短有效期

passwd -n 1 lee ##lee在1天内不能改密码
chage -m 1 lee


密码最长有效期

passwd -x 40 lee ##40天内lee用户必须更新密码否则会被冻结
chage -M 30 lee


密码过期警告 

passwd -w 2 lee ##账号过期前警告时间
chage -W 1 lee


认证非活跃天数 

passwd -i 2 lee ##账号认证最大时间超过后还能用多久
chage -I 1 lee


账号认证到期时间 

passwd -i 2 lee ##账号认证最大时间超过后还能用多久
chage -I 1 lee
# 8.用户权力下放 #

#在系统中普通用户时无法执行系统管理命令的

#如果需要普通用户执行系统管理动作那么需要 #root用户来进行授权

普通用户授权方式 “sudo”

作用: 可以使普通用户使用指定的用户身份呢运行命令 

授权方法:
visudo ##此命令作用是编辑/etc/sudoers并提供语法检测
	   ##直接vim进入时,不提供语法检测
	   ##visuo异常退出时,比如"ctr + z"挂入后台时,按fg重新进入
修改位置在在文件的100行左右 ##代码规范性
username hostname=(newusername) [NOPASSWD:] /command, /command1

#lee用户 在linux.wesots.com主机=(用超级用户身份) 执行useradd命令
lee linux.westos.com=(root) /usr/sbin/useradd

#westos用户 在linux.wesots.com 使用超户 免密 执行useradd 和 userdel
westos linux.wesots.com = (root) NOPASSWD: /usr/sbin/useradd, /usr/sbin/

相关命令

hostname    ##查看当前主机的名字
 
which useradd   ##查找useradd命令的位置,可以查找相关系统管理命令的位置

 

测试:
su - lee
sudo useradd westostest ##在lee第一次使用sudo命令时需要输入lee密码
exit #退出lee
su - westos
sudo userdel -r westostest ##westos可以免密执行userdel 命令

 ###test###

1.建立用户组shengchan,caiwu,jishu并满足以下要

*shengchan组id为8000
*caiwu组id为8001
*jishu组id为8002
2.建立westos,linux,lee,westosadmin等用户完成以下要求

*westos用户的附加组为shengchan和jishu
*lee的主组为caiwu附加组为技术,lee的uid和gid必须一致
*linux为系统账号不能直接被操作者使用
*westosamdin用户不属于以上三个部门,但是可以在系统中自由的管理用户
3.*以上用户密码均为westos,并要求用户首次登陆时强制修改密码

*设定以上用户密码必须在30天内进行休改,并在过期前2天发出警告求
4.建立目录完成以下要求

*新建目录/sc /cw /js /pub
*/sc目录是生产部门的数据存储目录,只能被生产部门的人员读写,并且在sc中建立的文件都属于生产部门
*/cw目录是财务部门的数据存储目录,只能被财务部门的人员读写,并且在cw中建立的文件都属于财务部门
*/js目录是技术部门的数据存储目录,只能被技术部门的人员读写,并且在js中建立的文件都属于技术部门
*/pub为公司人员公共目录,可以被公司任何员工读写

[root@westoslinux Desktop]# groupadd -g 8000 shengchan
[root@westoslinux Desktop]# groupadd -g 8001 caiwu
[root@westoslinux Desktop]# groupadd -g 8002 jishu
[root@westoslinux Desktop]# useradd -G shengchan,jishu westosuser
[root@westoslinux Desktop]# useradd -u 8001 -g caiwu -G jishu lee
[root@westoslinux Desktop]# useradd -s /sbin/nologin linux
[root@westoslinux Desktop]# visudo
[root@westoslinux Desktop]# id westosadmin 
uid=0(root) gid=0(root) groups=0(root)

[root@westoslinux Desktop]# echo westos | passwd --stdin westosuser 
[root@westoslinux Desktop]# echo westos | passwd --stdin lee
[root@westoslinux Desktop]# echo westos | passwd --stdin linux
[root@westoslinux Desktop]# echo westos | passwd --stdin westosadmin
[root@westoslinux Desktop]# passwd -e westosuser
[root@westoslinux Desktop]# passwd -e lee
[root@westoslinux Desktop]# passwd -e linux
[root@westoslinux Desktop]# passwd -e  westosadmin
[root@westoslinux Desktop]# passwd -x 30 -w 2 westosuser
[root@westoslinux Desktop]# passwd -x 30 -w 2 lee
[root@westoslinux Desktop]# passwd -x 30 -w 2 linux
[root@westoslinux Desktop]# passwd -x 30 -w 2  westosadmin

[root@westoslinux Desktop]# mkdir /sc /cw /js /pub
[root@localhost Desktop]# chgrp shengchan /sc
[root@localhost Desktop]# chgrp caiwu /cw 
[root@localhost Desktop]# chgrp jishu /js
[root@localhost Desktop]# chmod 770 /sc /cw /js 
[root@localhost Desktop]# chmod 777 /pub/

标签:lee,##,系统,用户,passwd,Linux,root,id
来源: https://blog.csdn.net/weixin_46927961/article/details/122585776

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有