14、用户账户和权限管理

用户账户和权限管理

##一、 ## 用户账户:

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

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

可以正常的登录系统。

程序用户:

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

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

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

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

3、根据uid来区分:

**管理员的uid:0

**普通用户的uid:1000

**程序用户的uid:1-999

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

1、root❌0:0:root:/root:/bin/bash 第一0是uid,第二个是gid

vim:0–1000,0–1000,切换成普通用户

2、dn❌1001:1001::/home/dn:/bin/bash

vim:1000–0,1000-0,切换成管理员

3、saned❌989:983:SANE scanner daemon user:/usr/share/sane:/sbin/nologin

在这里插入图片描述
例如:root:x:0:0:root:/root:/bin/bash含义:/:–字段之间的分隔符

​ 字段1:root—用户账号的名称

​ 字段2:x–用户密码的占位符

​ 字段3:0—用户的uid号

​ 字段4:0—用户的gid号

​ 字段5:root—用户的全名,一般和字段1一致

​ 字段6:/root—用户的家目录所在的位置

​ 字段7:/bin/bash—用户登录的shell,shell默认的解释器就是bash,是有是/bin/bash/才可以登录系统。/sbi/nologin/bin/false,表示不可以登录系统。一般程序用户的shell都是/sbin/nologin/bin/false。

**普通用户能否设置成/sbin/nologin?

​ 答:可以

​ /etc/passwd保存的是用户信息
/etc/shadow:用户的密码和账户的有效期。

root:$6$h4h2fBdpYZdO7AWN$biLOh38TZhOa.Yh8O9exm5Qj19mmlmitzZ7.IwFYn1Fgj9HhCaCiy6WrzsgsBosAq9OWdm1p04ToKMwFrtZMR1::0:99999:7:::

字段1:用户的账户名称

字段2:用户的密码,MD5加密的方式。*表示不能登录到系统,!!表示密码为空,不是真的空。什么都没有才是真的为空。

字段3:表示上一次修改密码的时间。19864,表示从1970-1-1到2024.5.21过了多少天。

字段4:密码的最短有效天数,0表示不限制。

字段5:密码的最长有效天数 99999表示不限制

字段6:提前多少天告诉用户,密码将要过期,默认7

字段7:密码过期之后多少天会禁用该用户

字段8:账号失效了多久,为空,永不失效

字段9:保留字段,预留字段,无实意。

工作中这两个文件不要动。

二、添加用户,创建用户:

2.1、useradd

-u 指定uid号。已被占用的uid不能被指定。

[root@localhost opt]# useradd -u 1015 ly1015

ly1015:x:1015:1015::/home/ly1015:/bin/bash

-d 指定用户的家目录的位置。(一般是不动的)。

[root@localhost opt]# useradd -d /opt/ ly2

ly2:x:1017:1017::/opt/:/bin/bash

-e 指定用户的账户失效的时间,格式yyy-mm-dd。

[root@localhost opt]# useradd -e 2024-06-21 ly1

ly1:!!:19864:0:99999:7::19895:

-M 创建用户的时候,不建立家目录。

[root@localhost opt]# useradd -M ly3

ly3:x:1018:1018::/home/ly3:/bin/bash

-s 创建用户时,指定用户的登录shell。

[root@localhost home]# useradd -s /sbin/nologin ly4

ly4:x:1019:1019::/home/ly4:/sbin/nologin

**没有家目录,没有配置文件,登录不了系统。**

[root@localhost ~]# useradd -M -e 2024-6-21 -s /bin/nologin -u 1002 hpc

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

hpc:x:1002:1002::/home/hpc:/bin/nologin

[root@localhost home]# ls
dn  li

2.2、用户创建密码passwd:

passwd 用户名

[root@localhost home]# passwd ly4
更改用户 ly4 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

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

ly4:!!:19864:0:99999:7:::

[root@localhost home]# passwd -d ly4

ly4::19864:0:99999:7:::

-l 锁定用户无法登录。**面试会提。**管理员可以进入。

[root@localhost home]# passwd -l li
锁定用户 li 的密码 。
passwd: 操作成功
[root@localhost home]# cd ..
[root@localhost /]# su - li
上一次登录:五 517 17:08:30 CST 2024pts/1 上
[li@localhost ~]$ 

-u  解锁用户

[root@localhost home]# passwd -l ly
锁定用户 ly 的密码 。
passwd: 操作成功
[root@localhost home]# passwd -S ly
ly LK 2024-05-21 0 99999 7 -1 (密码已被锁定。)
[root@localhost home]# passwd -u ly
解锁用户 ly 的密码。
passwd: 操作成功
[root@localhost home]# passwd -S ly
ly PS 2024-05-21 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[root@localhost home]# 

-S  (大写) 查看用户的状态,用户是否被锁定。

[root@localhost home]# passwd -S ly4
ly4 NP 2024-05-21 0 99999 7 -1 (密码为空。)
[root@localhost home]# passwd -S ly1
ly1 LK 2024-05-21 0 99999 7 -1 (密码已被锁定。)
[root@localhost home]# passwd -S li
li LK 2024-05-15 0 99999 7 -1 (密码已被锁定。)
[root@localhost home]# passwd -S ly2
ly2 LK 2024-05-21 0 99999 7 -1 (密码已被锁定。)
[root@localhost home]# passwd -S ly3
ly3 LK 2024-05-21 0 99999 7 -1 (密码已被锁定。)
[root@localhost home]# passwd -S ly
ly PS 2024-05-21 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[root@localhost home]# 


修改密码的另一种方式:[root@localhost home]# echo 123456 | passwd --stdin ly,修改ly的密码,修改为123456;

2.3、 修改账户的属性:

-u 修改用户的uid

ly4:x:1020:1019::/home/ly4:/sbin/nologin
[root@localhost home]# usermod -u 1019 ly4
[root@localhost home]# cat /etc/passwd

ly4:x:1019:1019::/home/ly4:/sbin/nologin

-d 修改用户的家目录地址(没人用)

ly4:x:1019:1019::/opt/:/sbin/nologin
[root@localhost opt]# usermod -d /home/ ly4
[root@localhost opt]# cd ..

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

ly4:$6$FxiaFqjv$Y.tb7Gao/ZKNZMbbCXoP6DVy.zOJdmR8wvShoC/nA.cL.iKs3oqfZWwOH2HY93KC/FyoN.AGEvHjStMiZAbH80:19864:0:99999:7::19898:

-L 锁定用户

[root@localhost home]# usermod -L ly4

-U 解锁用户

[root@localhost home]# passwd -S ly4
ly4 LK 2024-05-21 0 99999 7 -1 (密码已被锁定。)
[root@localhost home]# usermod -U ly4
[root@localhost home]# passwd -S ly4
ly4 PS 2024-05-21 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

-g:修改用户的基本组名(或使用 GID 号)。

-G:修改用户的附加组名(或使用 GID 号)。

* **面试题**  锁定用户的两种方式:

**passwd -l 用户名**--密码锁定

**usermod -L 用户名**--用户锁定

2.4、删除用户:

userdel

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

[root@localhost home]# userdel ly1
[root@localhost home]# ll
总用量 4
drwx------.  3 dn     dn       78 517 10:34 dn
drwx------. 15 li     li     4096 517 17:12 li
drwx------.  3 liyang liyang   78 521 10:53 liyang
drwx------.  3   1016   1016   78 521 16:48 ly1
drwx------.  3 ly4    ly4      78 521 17:03 ly4

userdel -r 用户名(删除用户,删除家目录)

[root@localhost home]# userdel -r ly1015
[root@localhost home]# ll
总用量 4
drwx------.  3 dn     dn       78 517 10:34 dn
drwx------. 15 li     li     4096 517 17:12 li
drwx------.  3 liyang liyang   78 521 10:53 liyang
drwx------.  3 ly1    ly1      78 521 16:48 ly1
drwx------.  3 ly4    ly4      78 521 17:03 ly4
[root@localhost home]# 

组账号:/etc/group 组账号信息;类似于/etc/passwd用户的信息

/etc/gshadow 保存组账号的额外信息;类似于/etc/gshadow

groupadd 添加组账号groupadd test1

[root@localhost home]# groupadd test1   **添加组账户,一般不创建,一般用户创建账号

删除组账号:[root@localhost home]# groupdel test3

添加或者删除组成员:  

gpasswd

-a 向组内添加组成员。gpasswd -a hpc,jk lzl

[root@localhost home]# gpasswd -a ly1 ly2
正在将用户“ly1”加入到“ly2”组中[root@localhost home]# gpasswd -a ly1 ly2
正在将用户“ly1”加入到“ly2”组中

-d 从组内删除用户。gpasswd -d hpc lzl

[root@localhost home]# gpasswd -a ly1 ly2
正在将用户“ly1”加入到“ly2”组中

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

[root@localhost home]# gpasswd -M ly2,ly3 ly1
[root@localhost home]# cat /etc/group

ly2:x:1017:
ly3:x:1018:
ly4:x:1019:
ly1:x:1020:ly2,ly3

添加可以一次性多个,删除只能一个一个删。

2.5、 配置文件

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

[root@localhost ~]# vim /etc/passwd (alias cat='cat -n')
[root@localhost ~]# vim /etc/profile
[root@localhost ~]# source /etc/profile
[root@localhost ~]# cat /etc/passwd

~(家目录)/.bash_profile 用户登录时,会读取配置,只对自己生效。(在家目录下操作)

[ly@localhost ~]$ vim .bash_profile (alias cat='cat -n')
[ly@localhost ~]$ source .bash_profile 
[ly@localhost ~]$ source /etc/.bash_profile 
bash: /etc/.bash_profile: 没有那个文件或目录
[ly@localhost ~]$ cat .bash_profile 

[root@localhost ly]# su - root
上一次登录:二 521 19:58:06 CST 2024pts/2 上

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
................................................................
ly3:x:1018:1018::/home/ly3:/bin/bash
ly4:x:1019:1019::/home/:/sbin/nologin
[root@localhost ~]# su - ly
上一次登录:二 521 19:51:59 CST 2024pts/2 上
[ly@localhost ~]$ cat /etc/passwd
     1	root:x:0:0:root:/root:/bin/bash
    ................................................................
    53	ly3:x:1018:1018::/home/ly3:/bin/bash
    54	ly4:x:1019:1019::/home/:/sbin/nologin
[ly@localhost ~]$ 

**退出:exit。**

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

[root@localhost ~]# vim .bashrc  (alias scan='ll')相当于打开一个文件,多次编辑,互不干扰。
[root@localhost ~]# source .bashrc
[root@localhost ~]# scan
总用量 0
drwxr-xr-x. 2 root root 6 516 17:09 公共
drwxr-xr-x. 2 root root 6 516 17:09 模板
drwxr-xr-x. 2 root root 6 516 17:09 视频
drwxr-xr-x. 2 root root 6 516 17:09 图片
drwxr-xr-x. 2 root root 6 516 17:09 文档
drwxr-xr-x. 2 root root 6 516 17:09 下载
drwxr-xr-x. 2 root root 6 516 17:09 音乐
drwxr-xr-x. 2 root root 6 516 17:09 桌面
[root@localhost ~]# 

~/.bash_logout:用户退出当面shell的时候会执行的配置。

[root@localhost ~]# vim .bash_logout (echo "再见!")
[root@localhost ~]# source .bash_logout
“再见!”
[root@localhost ~]# exit
登出
“再见!”

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

相当进程 进程分了很多线程

source 文件配置生效

读取顺序:/etc/profile -------------~/.bash_profile -----登录系统-------~/.bashrc -------------~/.bash_logout:用户自己的配置

三、 权限管理:

1、查询用户身份标识:id 用户名

[root@localhost home]# id ly
uid=1003(ly) gid=1003(ly) 组=1003(ly)

作用:查询uid gid所属组

w—who–查询已经登录的主机的用户信息 users

chmod 命令 用户名

在这里插入图片描述

u:所有者 u+r

[root@localhost test1]# chmod u+w 123
[root@localhost test1]# ll
总用量 0
-rwx-w----. 1 root root 0 521 20:38 123
-rw-r--r--. 1 root root 0 521 20:38 456
[root@localhost test1]# 

g:所在组

o:其他用户

a:所有用户 a+x u+x o+x

八进制算法替换了

421

r red 读权限 4

w write 写权限 2

x 执行 执行权限 1

例子:-rw-r–r–. 1 root root 0 5月 21 13:43 123

rw 6 所有者权限

r 4 所在组权限

r 4 其他用户权限

3.1、chmod:赋权命令

chmod 420 文件

[root@localhost opt]# mkdir test1
[root@localhost opt]# cd test1
[root@localhost test1]# touch 123 456
[root@localhost test1]# ll
总用量 0
-rw-r--r--. 1 root root 0 521 20:38 123
-rw-r--r--. 1 root root 0 521 20:38 456
[root@localhost test1]# chmod 420 123
[root@localhost test1]# ll
总用量 0
-r---w----. 1 root root 0 521 20:38 123
-rw-r--r--. 1 root root 0 521 20:38 456

chmod u+x 文件

[root@localhost test1]# chmod u+x 123
[root@localhost test1]# ll
总用量 0
-r-x-w----. 1 root root 0 521 20:38 123
-rw-r--r--. 1 root root 0 521 20:38 456

test.sh 所有者读写,所在组执行,其他用户看

chmod 614 test.sh

chmod -R 只有一层目录,目录中所有都会生效,级联目录只有最后一个生效。

[root@localhost home]# chmod -R 641 test1/-----整个目录下包括目录、文件都会变成所有者可读可写,所在组可读,其他用户执行。

3.2、递归赋权

[root@localhost home]# chmod -R 666 aa/bb/cc
[root@localhost home]# cd aa
[root@localhost aa]# ll
总用量 0
-rw-r--r--. 1 root root  0 521 22:51 1
drwxr-xr-x. 3 root root 25 521 22:51 bb
[root@localhost aa]# cd bb
[root@localhost bb]# ll
总用量 0
-rw-r--r--. 1 root root  0 521 22:51 2
drw-rw-rw-. 2 root root 15 521 22:51 cc
[root@localhost bb]# cd cc
[root@localhost cc]# ll
总用量 0
-rw-rw-rw-. 1 root root 0 521 22:51 3
[root@localhost cc]# 

[root@localhost home]# chmod -R 666 aa
[root@localhost home]# cd aa
[root@localhost aa]# ll
总用量 0
-rw-rw-rw-. 1 root root  0 521 22:51 1
drw-rw-rw-. 3 root root 25 521 22:51 bb
[root@localhost aa]# cd bb
[root@localhost bb]# ll
总用量 0
-rw-rw-rw-. 1 root root  0 521 22:51 2
drw-rw-rw-. 2 root root 15 521 22:51 cc
[root@localhost bb]# cd cc
[root@localhost cc]# ll
总用量 0
-rw-rw-rw-. 1 root root 0 521 22:51 3
[root@localhost cc]# 

例子:353

chmod 353

所有者 写和执行

所在组 读和执行

其他用户 写和执行

3.3、文件和目录默认权限修改

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

文件的默认权限 666

目录的默认权限 777

[root@localhost opt]# touch 123
[root@localhost opt]# ll
总用量 4
-rw-r--r--. 1 root  root   0 521 22:59 123(644=666-022)
-rwxrwxrwx. 1 xy102 xy102 38 521 15:36 login.sh
drwxr-xr-x. 2 root  root  28 521 20:38 test1
[root@localhost opt]# umask
0022
[root@localhost opt]# 

[root@localhost opt]# umask 033
[root@localhost opt]# touch 456
[root@localhost opt]# ll
总用量 4
-rw-r--r--. 1 root  root   0 521 22:59 123
-rw-r--r--. 1 root  root   0 521 23:00 456{644=(666-033)---644}=创建文件,默认就是不给你执行权限
-rwxrwxrwx. 1 xy102 xy102 38 521 15:36 login.sh
drwxr-xr-x. 2 root  root  28 521 20:38 test1
[root@localhost opt]# umask
0033
[root@localhost opt]# 

**(面试题)创建文件,默认就是不给你执行权限。

创建目录,一定要有执行权限,没有执行权限,你不能cd进入这个目录。我要修改一个文件的默认权限,怎么办?

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

3.4、chown修改所有者和所在组:

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

chown dn.dn 文件(.和:一样)

chown id:id 所有者和所在组一起变

chown id 文件名/目录名 只修改所有者

chown :id 文件名/目录名 只修改所在组

chown .id

[root@localhost home]# chown -R ly.ly aa(chown -R 与chmod -R用法一样)
[root@localhost home]# cd a
-bash: cd: a: 没有那个文件或目录
[root@localhost home]# cd aa
[root@localhost aa]# ll
总用量 0
-rw-rw-rw-. 1 ly ly  0 521 22:51 1
drw-rw-rw-. 3 ly ly 25 521 22:51 bb
[root@localhost aa]# 

课后思考题-------登录文件配置

1、useradd xy102。

2、cd /opt.

3、vim login.sh

写入:#!/bin/bashecho "xxxxxxx"

:wq

4、chmod 777 login.sh (赋权,最高权限)

5、cd /home/xy102

6、vim .bash_profile 

登录配置文件,调用/opt/login.sh

7、重新启用:source  .bash_profile

8、su  - xy102

[root@localhost opt]# vim login.sh
[root@localhost opt]# chmod 777 login.sh
[root@localhost opt]# ll
总用量 8
-rw--w--w-. 1 root root  0 521 23:04 10
--w--w--w-. 1 root root  0 521 23:05 11
----------. 1 root root  3 521 23:07 12
-rw-r--r--. 1 root root  0 521 22:59 123
d-w--w--w-. 4 root root 39 521 23:30 13
-rw-r--r--. 1 root root  0 521 23:00 456
-rwxrwxrwx. 1 root root 38 522 00:21 login.sh
drwxr-xr-x. 2 root root 28 521 20:38 test1
[root@localhost opt]# vim .bash_profile
[root@localhost opt]# cd /home/xy102
[root@localhost xy102]# vim .bash_profile 
[root@localhost xy102]# source .bash_profile
我爱王心凌!
[root@localhost xy102]# su - xy102
最后一次失败的登录:三 522 00:10:20 CST 2024pts/4 上
最有一次成功登录后有 4 次失败的登录尝试。
我爱王心凌!
[xy102@localhost ~]$ 
in.sh
[root@localhost opt]# ll
总用量 8
-rw--w--w-. 1 root root  0 521 23:04 10
--w--w--w-. 1 root root  0 521 23:05 11
----------. 1 root root  3 521 23:07 12
-rw-r--r--. 1 root root  0 521 22:59 123
d-w--w--w-. 4 root root 39 521 23:30 13
-rw-r--r--. 1 root root  0 521 23:00 456
-rwxrwxrwx. 1 root root 38 522 00:21 login.sh
drwxr-xr-x. 2 root root 28 521 20:38 test1
[root@localhost opt]# vim .bash_profile
[root@localhost opt]# cd /home/xy102
[root@localhost xy102]# vim .bash_profile 
[root@localhost xy102]# source .bash_profile
我爱王心凌!
[root@localhost xy102]# su - xy102
最后一次失败的登录:三 522 00:10:20 CST 2024pts/4 上
最有一次成功登录后有 4 次失败的登录尝试。
我爱王心凌!
[xy102@localhost ~]$ 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值