账号管理

账号指的是Linux的系统用户。

用户:管理员(root),管理员在系统当中是唯一的。

普通用户:普通用户都是从管理员用户创建的,权限是受到限制的,只有在自己的家目录,普通用户才拥有完整的权限。

程序用户:维护或者维持某个程序的正常运行,这些用户是不能够登陆系统的。创建系统的时候会默认添加一部分,安装第三方软件也会添加程序用户。

如何切换用户:su

格式 su - 用户名

管理员切换到普通用户是不需要输入密码的,反过来是需要密码的

建议 完整切换方式去切换用户。

如何修改主机名

临时修改:hostname 主机名(重启就失效)

永久修改:hostnamectl set-hostname zzr (命令行修改)改完后用su刷新即可生效,无需重启

vim/etc/hostname(只能重启之后生效)

centos9查看所有用户_linux

如图,重启之后用户名会失效。

centos9查看所有用户_重启_02

重启之后,不会失效

用户账号的uid

用户账号:uid是唯一且有范围的。

centos6以前的版本:root uid 0

普通用户的uid号:从500开始

程序用户:1-499

centos7:普通用户从1000开始

程序用户:1-999

cat  /etc/passwd查看所有用户的信息文件

centos9查看所有用户_centos9查看所有用户_03

x:密码占位符。(为了保证安全,并不是密码)

/bin/bash:以这个结尾就都是管理员账号和普通用户账号

/sbin/nologin和/bin/false:一般来说都是程序用户

/etc/shadow 用户的账户信息,保存用户密码和其他信息

centos9查看所有用户_linux_04

第六个字段:7 :如果密码过期,七天之后会禁用此用户

7后面第一个空格:账户失效 之后,在指定时间内作为保留。此处为空表示账号永久可用。

最后一个字段:保留字段。

useradd命令

创建用户的命令,并且此命令会自动为用户创建家目录。

-u:可以指定用户的uid号(uid号不能被其他用户使用)

-d:指定用户家目录位置

-e:指定用户账号的失效时间 YYYY-MM-DD(年--月--日)

-g:指定用户的基本组,也可以用gid号。但gid号必须存在

-G:指定用户的附加组,也可以使用gid号

-M:不会为用户创建家目录

-s:指定用户登录的shell

passwd命令

passwd  123 :为123用户设置密码

root用户下可以改所有用户的密码,包括root自己

-d :清空用户密码。慎用

-l :锁定用户 被锁定的用户将无法登录系统

-S:查看用户的状态

-u:解锁用户

passwd 用户名

如何用管道符更快的设置密码

echo 密码 | passwd --stdin 用户名。

usermod命令

-u:修改用户的uid号,前提是未使用的uid号

-d:修改用户的家目录

-e:修改用户的账户失效时间,YYYY-MM-DD(年-月-日)

-g:修改基本组,也可以用gid号

-G:修改附加组,也可以使用GID号

-s:修改用户的登录shell

-L:锁定用户账户

-U:解锁用户账户

**usermod 和passwd都有锁定账户的功能,但是两者存在区别

passwd -l 用户名(锁密码) 解锁 -u

usermod -L 用户名(锁账号) 解锁 -U

删除用户:userdel

-r:删除用户时,一并删除用户的家目录

用户来回切换,会导致删除用户时显示:正在被进程运行。导致无法删除用户

解决方法:

1.kill -9 进程号

等待杀死进程结束重新登录即可

(不推荐,因为此操作会将所有东西删除)

2.每个用户中 输入 exit 即登出命令,这样以后会将用户完全退出登录,之后进行操作就没有任何阻碍

用户组:

/etc/group:组账号的基本信息

/etc/gshadow:组账号的密码信息

groupadd:创建组账号

gshadow 添加或删除组成员

-a:给组内添加用户,添加到附加组

-d:删除组内用户,删除也是附加组

-M:一次性添加多个组员,组员之间以逗号分隔

权限

Linux的权限只有三种:

r (4) :读,查看

w(2) :写,针对文件内容的新增,修改,之后能不能够保存,能不能在当前目录创建文件或者目录

x (1) :执行,相应的代码,有没有权限来执行文件中的代码。切换目录

以上是对文件或者目录的权限。

centos9查看所有用户_普通用户_05

chmod:设置文件和目录的权限命令

八进制赋权的方式: 4 2 1

另一种写法:u g o a + - =

u:所有者

g:所有组

o:其他用户

a:所有人

centos9查看所有用户_用户名_06

用八进制421方法赋权

centos9查看所有用户_centos9查看所有用户_07

centos9查看所有用户_linux_08

目录默认权限 -rwx--r-x--r-x-

文件默认权限 -rwx--r-----r---

文件的默认权限是 6 6 6

目录的默认权限是 7 7 7

umask默认是 022

666-022=644

777-022=755

*umask为011 033 055 等奇数,文件创建后权限会默认+1,原因就是不给文件执行权限,目的是为了安全**,要想文件有执行权限,得后天赋权 chmod

遇到奇数要+1

目录必须要有执行权限

centos9查看所有用户_普通用户_09

centos9查看所有用户_普通用户_10

通过递归的方式改变目录权限(mkdir -p aa/bb/cc)只能改变最底层的权限,即cc的权限

设置文件和目录的归属

chown zzr:zzr 123.sh

chown 所有者:所在组 文件名

chown :zzr 123.sh

只改变所在组