4 Linux系统中的用户管理

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

1)用户存在的意义

系统资源是有限的,如何合理分配系统资源? 在这个问题解决时必须要有连个资源配合
1 身份(账号) accout
2 授权 author   密码 auther
3 认证 auth

3A机制,3A机制组成系统中最底层的安全架构(账号accout 密码auther 授权author)

2)用户组存在的意义

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

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

电脑对数字敏感                 id
人类对字符串敏感               名称

id <------------>名称 必须要记录到文件当中用户才能存在
用户 就是/etc/passwd文件中的一行字符

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

3 用户切换

1)用户查看

whomai                  ##查看当前用户
id                      ##查看用户id信息
           -u            ##查看用户的用户id
           -g            ##查看用户组id
           -G            ##查看用户所有的组的id
           -n(不能单独用 -n 要结合着用 -nd -nG)      ##显示名称

[root@westoslinux Desktop]# vim /etc/group    ##更改组名称
[root@westoslinux Desktop]# id root
uid=0(root) gid=0(root) groups=0(root),70(avahi),72(tcpdump)
[root@westoslinux Desktop]# id -u root
0
[root@westoslinux Desktop]# id -g root
0
[root@westoslinux Desktop]# id -G root
0 70 72
[root@westoslinux Desktop]# id -Gn root
root avahi tcpdump
[root@westoslinux Desktop]# id -gn root
root
[root@westoslinux Desktop]# id -un root
root

用户id范围:

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

2)用户切换

su - username

-                       ##切换用户环境
username                ##如果root ----> commonuser          不需要后者密码
                        ##commnuser ----> root               需要密码
                        ##commnuser ----> commnuser          需要密码
                        #
                        #注意:在做用户切换时当使用完毕用户身份及时退出 '退出 exit
                        #不要在一个shell中反复执行su命令
                        #在一个shell中反复执行su命令会导致环境错乱

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

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

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

/etc/skdel/.*           ##用户环境配置文件模板

/etc/shadow             ##用户认证信息文件 密码信息

/home/username          ##用户家目录

/var/spool/mail/username  ##用户邮箱文件

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

监控用户建立的命令

'watch -n 1 "tail -n 4 /etc/passwd /etc/group;echo ============;ls -l /home"
监视成功后 重新打开shell进行操作
操作完成后 ctrl+c 退出监视


useradd            username       ##用户建立'(再次建立用户时,需删掉前面的id)
         -u id     username       ##uid          2**16=0-65535
                                  ##0                   表示超级用户
                                  ##1-200               系统预留id
                                  ##201-999             系统用户
                                  ##1000-60000          用户级用户
                                  ##/etc/login.defs     记录用户建立的默认规则
         
         -g id     username       ##主组id '(建立主组id时:需要先建立指定组group -g westoslee)
         -G id     username       ##附加组id '(删除附加组时, 输入空"")
         -d di                    ##指定用户家目录(系统用户不需要家目录)
         -c word   username       ##指定用户说明
         -M        username       ##建立用户时不建立家目录
         -s shell  username       ##指定用shell

userdel  -r        username       ##用户删除 -r 删除用户的系统配置文件

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 用户认证信息管理

#用户名称:用户密码的加密字符(分对称加密和非对称加密 显示感叹号 账号冻结):用户密码最后一次被修改时间(从1970-1-1算起):密码最短有效期(0 随时更改 1 一天后更改):密码最长有效期:密码过期前警告期:账号非活跃期(1 若密码有效期为30,则第31天还可以进行修改):账号到期时间:用户自定义(未使用) (不懂用 man 5 shadow 查看)
#

#1 用户名称

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

#2 用户加密字符

#更改密码)
passwd lee                      ##只有root可以执行 “echo 123 | passwd --stdin lee"

passwd                          ##普通用户更改密码
Changing password for user lee.
Current password:               ##输入原始密码
New password:                   ##输入新密码(8位以上无序数字+无序字母组合)
Retpe 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天之内不能改密码(改回来 -n 0)

chage -m 1 lee   

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

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

#认证非活跃天数
passwd -i 1 lee               ##账号认证最大时间超过后还能用多久(改回来 -i -1)
chage -I 1 lee                

#账号认证到期时间

chage -E "2020-05-11"         ##到2020-05-11这天账号会被冻结#未启用功能

1  useradd rtt
2  watch -n 1 "tail -n 3 /etc/passwd /etc/shadow"

   83  passwd -S rtt
   84  passwd -e rtt
   85  passwd -x 80 rtt
   86  passwd -n 3 rtt
   87  passwd -w 4 rtt
   88  passwd -i 10 rtt

   51  chage -d 30 lee
   52  chage -M 40 lee
   53  chage -m 2 lee
   54  chage -W 4 lee
   55  chage -I 2 lee
   56  chage -E 2011-01-02 lee

8 用户权力下放

#在系统中,普通用户时,无法执行系统管理命令
#如果需要普通用户执行系统管理动作则需要
#root用户来进行授权

普通用户授权方式“sudo”
作用:可以使普通用户使用指定的用户身份来运行命令

授权方法:
visudo                        ##此命令作用是编辑/etc/sudoers并提供语法检测

在文件的100行左右 ##代码规范性

username     hostname=(newusername)     [NOPPASSWD:] /command, /command1

#lee用户 在linux.westod.com主机=(用超级用户身份)    执行useradd命令
                                                        /usr/sbin/useradd./usr/
#westos用户   在linux.westos.com     使用超级用户   免密码          执行useradd 和 userdel
westos       linux.westos.com      =(root)       NOPASSWD: /usr/sbin/useradd, /usr/
sbin/userdel


测试:
su - lee

sudo useradd westostest                 ##在lee第一次使用sudo命令时需要输入lee密码

exit       #退出lee
su - westos

sudo userdel -r westostest              ##westos可以免密码执行userdel 命令   

useradd rtt  ##建立用户rtt
hostname    ##查看主机身份
su - rtt    ##切换到用户rtt

which useradd   ##查看useradd这个命令 到底在那里
which userdel
exit  
visudo    ##对于权力下放规则进行编辑
(在第100行左右进行编辑)     
rtt westoslinux.westos.org = (root) PASSWD: /usr/sbin/useradd, /usr/sbin/userdel        ##rtt用户可以在westoslinux.westos.org主机上,以超级用户身份进行免密码建立新用户并进行删除的命令
:wq
su - rtt
undo useradd haha     ##以普通用户rtt身份来建立新用户
undo useradd -r haha   ##以普通用户rtt身份来删除新用户

  

test
在系统中完成以下用户操作
1 建立用户组shengchan caiwu jishu 并满足以下要求
*shengcahn组id为8000
*caiwu组id为8001
*jishu组id为8002

2 建立westoslee linux lee westosadmin等用户完成以下要求
*westoslee用户的附加组为shengchan和jishu
*lee的主组为caiwu附加组为技术,lee的uid和gid必须一致
*linux为系统账号不能直接被操作者使用
*westosamin用户不属于以上三个部门,但是可以在系统中自由的管理用户

3
* 以上用户密码均为westoslee 并要求用户首次登陆时强制修改密码
*设定以上用户密码必须在30天内进行修改,并在过期前2天发出警告

4 建立目录完成以下要求:
*建立目录/sc /cw /js /pub
*/sc目录是生产部门的数据存储目录,只能被生产部门人员读写
*/cw目录是财务部门的数据存储目录,只能被财务部门人员读写
*/js目录是技术部门的数据存储目录,只能被jishu部门人员读写
*/pub为公司人员公共目录,可以被公司任何人员读写

1
  2  groupadd -g 8000 shengchan
  3  groupadd -g 8001 caiwu
  4  groupadd -g 8002 jishu
2
  5  useradd -G shengchan,jishu westoslee
  6  useradd -u 8001 -g 8001 -G jishu lee
  8  visudo
3
  10  echo westoslee | passwd --stdin lee
  11  passwd -e lee
  12  chage -d 0 lee
  13  passwd -x 30 -w 2 lee
4
   28  mkdir /sc /cw /js /pub    ##更改文件拥有组
   30  chgrp shengchan /sc
   31  chgrp caiwu /cw
   32  chgrp jishu /js
   33  chown 770 /sc /cw /js
   34  chown 777 /pub

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值