Linux学习——用户管理学习笔记

一、用户管理番外(1)

1、查看当前登录用户信息

who
w

who

2、添加用户:一定要指定所属组和描述信息

useradd [-options] name
options有如下选项

  • -u:UID
  • -g:缺省所属用户组GID
  • -G:指定用户所属多个组
  • -d:宿主目录
  • -s:命令解释器shell
  • -c:描述信息,如果有空格或者特殊符号要用双引号引起来
  • -e:指定用户失效时间
sudo useradd -u 1001 -g 1000 -G 0 -d /home/Mary -s /bin/bash -c "project zhangsan" Mary

useradd

3、删除用户:
userdel -r [用户名] 删除用户目录
若想手工删除用户,需要同时修改下面四个文件:

  • /etc/passwd番外(2)①用户信息文件
  • /etc/shadow番外(2)②密码文件
  • /etc/group
  • 宿主目录

4、其他管理命令:

  • vipw:编辑 /etc/passwd 文件,会锁定文件,不能多个用户同时编辑
sudo vipw 
//我们在这里将文件末尾的冒号删掉,为下面的演示做准备
  • pwck:passwd check 检测 /etc/passwd 文件(锁定文件)的错误,比如不小心删了个分隔符
sudo pwck

pwck

  • id:查看用户id和组信息,uid,gid,groups

id

  • finger:查看用户详细信息(可以看到什么时间通过什么主机登录的)

finger

  • passwd -S [用户名] 查看用户密码状态(是对/etc/shadow文件的提取),用户无法登陆时使用

  • passwd -l [用户名] 锁定用户的密码

  • usermod -L [用户名] 锁定用户的密码

这俩锁定的命令都是通过在加密密码前面加一个“!”来实现的,对应解锁密码如下:

  • passwd -u [用户名]
  • usermod -U [用户名]

  • chage:更改用户密码到期信息,其实就是更改/etc/shadow里的信息,unix里面没有

    • -l:查看用户密码设置
    • -m:密码修改最小天数
    • -M:密码修改最大天数
    • -d:密码修改最后的日期
    • -I:密码过期后,锁定账户的天数
    • -E:设置密码的过期日期,如果为0,代表密码立即过期,如果为-1,代表密码永不过期
    • -W:设置密码过期前,开始警告的天数

chage

启动或停用shadow功能:

  • pwconv/pwunconv //用户
  • grpconv/grpunconv //用户组

二、用户组管理:

1、添加组
groupadd -g gid [groupName]

sudo groupadd -g 1001 newgroup
sudo gpasswd newgroup
sudo grpconv

group

2、删除组
groupdel [groupName]

sudo vigr -g
sudo groupdel newgroup
sudo vigr -g

删之前:
before
删之后:
after

3、更名
groupmod -n [newName] [oldName]

sudo vigr -g
sudo groupmod -n groupnew newgroup
sudo vigr -g

改之前:
before
改之后:
groupmod

4、其他用户组管理命令:

  • groups:查看用户隶属于哪些用户组

groups

  • newgrp、gpasswd:切换用户组 - 当一个用户不属于这个组,但它还想用这个组的权限的时候,如果他知道这个组的密码,那他就可以切换到这个组,使用它的权限,
su - Mary
id
newgrp newgroup
id

group
只是临时将Mary添加到newgroup组中,退出切换后,Mary还是不属于newgroup组

  • vigr:编辑/etc/group文件(锁定文件)只能用这个命令
sudo vigr -g 
3 //选择编辑器
  • grpck:用户组配置文件检测
sudo grpck
sudo grpconv
sudo grpck

grpck

三、把用户添加到组里:

有两种方法:

(1) usermod -G [组名] [用户名]

id Mary
sudo usermod -G newgroup Mary
id Mary

usermod

(2) gpasswd -a [用户名] [组名]
gpasswd 命令其他选项用法
-d:删除用户
-A:把用户设置为组的管理人,管理人可以增加删除用户
-r:删除用户组密码
-R:禁止用户切换为该组

  • gpasswd -d [用户名] [组名]
id Mary
sudo gpasswd -d Mary newgroup
id Mary

gpasswd-d

  • gpasswd -a [用户名] [组名]
id Mary
sudo gpasswd -a Mary newgroup
id Mary

gpasswd-a

  • gpasswd -A [用户名] [组名]
id Mary
gpasswd -a Mary newgroup
sudo gpasswd -A cassie newgroup
gpasswd -a Mary newgroup
id Mary

group-A

  • gpasswd -r [用户名] [组名]
sudo vigr -s //查看用户组密码
gpasswd -r newgroup 
//上一步已经把当前用户设置成了newgroup的管理员,所以这一步不需要加 sudo
sudo vigr -s

删除前:
gpasswd-s
删除后:
gpasswd-s

  • gpasswd -R [用户名] [组名]
gpasswd newgroup
su - Mary
id
newgrp newgroup
id
su - cassie
gpasswd -R newgroup
su - Mary
id
newgrp newgroup

gpasswd-R

四、用户组权限例题

如果想将同一个权限授权给多个用户,怎么办?将多个用户放到同一个组里,然后对这个组进行授权,那么,组里的每一个用户就都有那些权限了

sudo mkdir /software
sudo useradd jack
sudo useradd david
sudo passwd jack
sudo passwd david
su - jack
touch /software/aaa

1

sudo groupadd softadm
sudo usermod -G softadm jack
sudo gpasswd -a david softadm
sudo grep softadm /etc/group
sudo chgrp softadm /software  //更改/software 文件所属组
sudo chmod g+w /software
//检验 
su - jack
touch /software/aaa
su - david
touch /software/bbb 可以创建
ls /software/
ls -l /software/

2
ll

总结:让一个普通用户可以编辑一个配置文件可以有以下方法

  • 设置用户为配置问价所有者 chown
  • 改变所属组,把用户加入组,授予 w 权限
  • visudo 用户 地址=/bin/vi


番外

(1)Linux用户类型

  • 超级用户:root,uid = 0
  • 普通用户:uid=500~60000
  • 伪用户:uid=1~500,缺省用户,Linux命令只能以用户的身份去调用、执行,伪用户就是这种调用服务、命令的身份,不能登陆系统
    • 系统相关命令:如shutdown等
    • 服务相关命令:如ssh等

(2)与用户信息有关的配置文件

① 用户信息文件:/etc/passwd
例子:root:x:0:0:root:/root:/bin/bash

解析rootx00root/root/bin/bash
用户名密码位uidgid描述性语言宿主目录命令解释器
备注只是一个密码的占位符,密码在/etc/shadow文件中用户标识号缺省组标志号用户全名等信息,可有可无用户使用的shell,默认为bash
more /etc/passwd

/etc/passwd

② 密码文件:/etc/shadow
例如:root:$1/S$yBoIrn:17394:0:99999:7:::

解析root$1/S$yBoIrn173940999997
用户名加密密码最后一次密码修改时间最小时间间隔最大时间间隔警告时间账号闲置时间失效时间标志
备注距离1970年1月1日的天数两次修改密码之间的最小时间间隔达到这个天数还没更改的话会被强制更改,否则账号失效,无法登陆距离强迫更改还剩7天时向用户发出警告一般不使用
su - root //需要root权限才能打开这个文件
more /etc/shadow

/etc/shadow
我们登陆Linux系统时输入账号密码后,系统就会查询 /etc/passwd 和 /etc/shadow 两个文件来核查我们的身份

③ 新用户配置文件:/etc/skel
每个用户的宿主目录下都要有这个文件夹下的文件(都是隐藏文件),手工创建新用户时要拷贝过去

ls -a /etc/skel/
ls -a /home/cassie/

/etc/skel

④ 用户配置文件:设置用户信息的默认值文件
1)/etc/login.defs

more /etc/login.defs

/etc/login.defs

2)/etc/default/useradd

more /etc/default/useradd

/etc/default/useradd

(3)su
su jack 切换用户为jack,不切换环境变量,用的不是jack的环境变量,还是切换之前的环境变量
su - jack 切换用户为jack,切换环境变量,用的是jack的环境变量
su

(4)用sudo代替su:
概念:sudo可以让普通用户以root的身份执行某些命令

优点:

  • 在执行sudo命令时,临时成为root
  • 不会泄露root口令
  • 仅向用户提供有限的命令使用权限

sudo命令授权:
在配置文件中加入以下信息:
配置文件格式:用户名(组名) 主机地址(主机名)=命令(必须是绝对路径)
例如:

  • userName 192.168.195.130=/usr/sbin/useradd.usr/sbin/userdel
  • userName 192.168.195.130=/sbin/shutdown -h now 命令精确化,只能用-h now这个选项

第一个例子中给userName这个用户添加useradd和userdel命令的权限,添加完使用的时候有两种方法:

  • 将/usr/sbin/useradd添加userName的PATH路径下
  • 使用绝对路径
    使用的时候要在命令前面加上sudo

其他:
/etc/sudoers 是配置文件,编辑配置文件命令visudo
sudo -l 查看你可以以root身份进行什么操作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值