用户账号和权限管理 04

用户账号和权限管理

用户账号

超级用户: 管理员 root 默认对本机拥有最高权限的账号,在系统中唯一的。

普通用户:一般都是由管理员创建,拥有的权限是受限的。一般只在自己的家目录中拥有完整的权限。

可以正常的登录系统

程序用户:在安装软件时,有的应用程序需要创建一些账号来保证程序的正常运行,就会创建一个程序账号,程序账户是一些低权限的账号,而且这些账号是不能登录到系统的。

作用:保证程序的正常运行

UID:用户的标识号,创建用户的时候可以指定,也可以系统自动分配,但是唯一,不能重复

GID:组标识,创建用户的时候可以指定,也可以自动分配,也是唯一的,不能重复。

根据UID区分:

管理员的uid 0

普通用户uid 1000

程序用户uid 1-999

判定一个用户是否为管理员,以uid为标准,uid=0就是管理员

/etc/passwd保存的是用户信息。

[root@localhost ~]# cat /etc/passwd #查看passwd文件

root:x0:0:root:/root:/bin/bash
dnx:1000:1000:dn:/home/dn:/bin/bash
saned:x989:983:SANE scanner daemon user:/usr/share/sane:/sbin/nologin

以root:x0:0:root:/root:/bin/bash为例,以:为分隔:

root 字段1: 用户账号的名称。
x 字段2: 用户密码的占位符。无实意。
0 字段3: 用户的uid号。
0 字段4: 用户的gid号。
root 字段5: 用户的全名,一般都和字段1一致。
/root 字段6: 用户的家目录所在的位置。
/bin/bash 字段7: 用户登录的shell,shell默认的解释器就是bash,是/bin/bash才可以登录系统。

/sbin/nologin /bin/false,表示不可以登录系统。

一般程序用户的shell都是/sbin/nologin /bin/false。

/etc/shadow:用户的密码和账户的有效期。

root:6uJ/b/.LajcTU7.1J$VkuaSqemZKK2RGRB0472IYMTUkjFn.iOyoMKba8c.EcRzttYQEjo8G4ilThCTu/WgU3Pv9AMsJ5ewfL/3WuSp/:19864:0:99999:7::: 以:为分隔

字段1: 用户的账号名称
地段2: 用户的密码,MD5加密的方式。*表示不能登录系统,!!表示密码为空.不是真的空。什么都没有才是真的为空。
字段3: 表示上一次修改密码的时间。19864,表示从1970-1-1到2024年5-21号过了多少天。
字段4: 密码的最短有效天数,0表示不限制
字段5: 密码的最长有效天数 99999表示不限制
字段6: 提前多少天告诉用户,密码将会过期,默认7。
字段7: 密码过期之后多少天会禁用该用户
字段8: 账号失效了多久,为空,永不失效
字段9: 保留字段,预留字段,无实意。

创建用户

添加用户,创建用户:useradd 用户名

-u:指定uid号,已备占用uid不能被指定

-d:指定用户的家目录位置,一般不动

-e:指定用户的账号失效的时间,格式yyyy-mm-dd

-M:创建用户时,不创建用户的主目录

-s :新账号的登录shell

-u: 新账号的用户ID

创建用户qqq 账号有效期为2024-09-01,不可以登录,且uid号为1011

[root@localhost ~]# useradd -e 2024-09-01 -s /bin/nogin -u 1011 qqq

创建成功后查看

[root@localhost ~]# cat /etc/passwd

结果

qqq:x:1011:1011::/home/qqq:/bin/nogin

查看账户有效期

[root@localhost ~]# cat /etc/shadow

结果

qqq:!!:19864:0:99999:7::19967: #修改成功

用户创建密码

用户创建密码或者修改密码

1、passwd 用户名

2、echo 密码 | passwd --stdin 用户名

其他选项

passwd [选项] 用户名

-d :清空指定用户的密码(慎用)

例 passwd -d 用户名 真正的为空 仅凭用户名就可以登录

-l:锁定用户无法登录 面试题

例passwd -l 用户

锁定用户从普通用户跳转无法登录

[root@localhost ~]# passwd -l zxc #上锁
锁定用户 zxc 的密码 。
passwd: 操作成功
[root@localhost ~]# su - dn #切换普通用户
上一次登录:二 5月 21 16:36:58 CST 2024pts/1 上
[dn@localhost ~]$ su - zxc
密码:
su: 鉴定故障

-u:解锁用户,解锁后从普通用户跳转可以正常登录

[root@localhost ~]# passwd -u zxc #解锁
解锁用户 zxc 的密码。
passwd: 操作成功
[root@localhost ~]# su - dn
上一次登录:二 5月 21 16:38:01 CST 2024pts/1 上
[dn@localhost ~]$ su - zxc
密码:
上一次登录:二 5月 21 16:37:04 CST 2024pts/1 上
最后一次失败的登录:二 5月 21 16:38:08 CST 2024pts/1 上
最有一次成功登录后有 1 次失败的登录尝试。

-S:查看用户的状态,用户是否被锁定

[root@localhost ~]# passwd -S zxc #查看状态
zxc PS 2024-05-21 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[root@localhost ~]# passwd -l zxc #账号上锁
锁定用户 zxc 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -S zxc
zxc LK 2024-05-21 0 99999 7 -1 (密码已被锁定。)

修改账号的属性

usermod:修改账号的属性

格式:usermod [选项] 用户名

-u:修改用户的uid

[root@localhost ~]# usermod -u 1006 zzz #修改zzz的uid号为1006
[root@localhost ~]# cat/etc/passwd 
结果
zzz:x:1006:1005::/home/zzz:/bin/bash #修改成功

-d:修改用户的家目录地址,一般没人使用

-e:修改用户的账户失效时间 格式yyyy-mm-dd

-s:修改用户登录的shell

查询qqq用户的信息

qqq:x:1011:1011::/home/qqq:/bin/nogin

修改用户登录是shell

[root@localhost ~]# usermod -s /bin/bash qqq #修改shell
[root@localhost ~]# cat /etc/passwd
结果
qqq:x:1011:1011::/home/qqq:/bin/bash #修改成功

-L锁定用户

[root@localhost ~]# passwd -L zxc

-U解锁

[root@localhost ~]# usermod -U zxc

删除用户

userdel :删除用户

userdel 用户名 :只删除用户,不删除家目录

userdel -r 用户名 :删除用户的同时删除家目录

group 组账号

/etc/group 组账号信息

/etc/gshadow 保存组账号的额外信息

groupadd:添加组账号

groupdel 组名 删除组账号

添加或者删除组成员

gpasswd

-a 向组内添加用户

-d 从组内删除用户

-M 定义组员的列表,每个用户用逗号隔开

gpasswd -M 用户1,用户2 添加到去的组

配置文件

配置文件:配置完文件需要source 路径 方可生效。

/etc/profile 全局配置,对所有用户都生效。

生效:source 或者重启之后。

家目录~/.bash_profile 用户登录时会读取的配置,只对自己生效。

家目录~/.bashrc 用户的配置文件,只对自己生效,每一次新打开一个shell就会读取这个文件。

家目录~/.bash_logout 用户退出时子shell的时候会执行的配置。

每次登录都是shell的一个子shell,每个子shell互相隔离。

读取顺序:

/etc/profile > ~/.bash_profile > ~/.bashrc > ~/.bash_logout

权限管理

查询用户身份的标识

id 用户名----------查询uid gid 以及所属组

查询已经登录到主机的用户信息:

w

who

users

常规老权限

u:所有者 格式:u+r

g:所在组 g+x

o:其他用户 o+r

a:所有用户

八进制算法替换(421)

4 r read 读权限

2 w wirte 写权限

1 x 执行 执行权限

赋权命令:

chmod 八进制替换 文件名

递归赋权:

chomd -R 权限 目录名

[root@localhost /]# chmod -R 641 aa/bb/c/ 仅cc目录权限更改

[root@localhost /]# chmod -R 641 aa/bb/ 从bb目录以后的权限全部更改
umask

umask:用来设定文件和目录的默认权限。

文件的默认权限 666

目录的默认权限 777

创建文件,默认就是不给你执行权限。

创建目录一定要有执行权限,没有执行权限就没有办法进入目录

小问题:

要修改一个文件的默认权限,怎么办?

改umask,如果是文件怎么改umask都没有执行权限。

修改所有者所在组

前提:用户和组都要存在,要先创建好

chown:修改所有者所在组

xx:权限用户

格式 两个一起变

​ chown xx:xx 文件或者目录名

​ chown xx.xx文件或者目录名

只修改所有者或者所在组

chown xx 文件或者目录名 --修改所有者

chown .xx 文件或者目录名–修改所在组

chown :xx

小实验:切换用户弹出信息!

[root@localhost opt]# useradd xy102 #增加一个新用户
[root@localhost opt]# vim login.sh  #编写脚本文件
#进入编辑脚本文件
#!/bin/bash ----解释器运行环境
echo "welcome to 徐州!" #输入弹框内容
[root@localhost opt]# chmod 777 login.sh #脚本的权限 777 所有者权限7 所有组权限7 其他用户权限7
[root@localhost opt]# chown xy102.xy102 login.sh #修改脚本文件的 所有者 所有组
[root@localhost opt]# ll
总用量 4
-rwxrwxrwx. 1 xy102 xy102 40 5月  21 14:54 login.sh
[root@localhost opt]# cd /home/xy102/ #进入新增用户的家目录
[root@localhost xy102]# ls -a #查询新用户的环境配置文件 .bash_profile
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla
[root@localhost xy102]# vim .bash_profile #编辑环境配置文件
#编辑内容
最后一行输入
/opt/login.sh 要运行的文件
[root@localhost xy102]# source .bash_profile  #重启一个环境配置文件
welcome to 徐州! 配置文件运行成功
[root@localhost xy102]# su - xy102 #su - 切换普通用户
welcome to 徐州!  #显示成功

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值