前言
这节首先会将上节课没有学完的使用命令行获得帮助结束;然后开始进行Linux系统中的用户管理,这部分将涉及用户、用户组的概念以及用户切换、用户查看等内容。
一、使用命令行获得帮助
1.whatis 命令
whatis rm ##查看命令的基本用途 ##查看过程中出现 #rm: nothing appropriate. 1.表示要查看内容没有帮助 2.系统帮助数据未更新用mandb命令更新 “注意:当执行whatis命令出现 nothing appropriate 时大多数情况是因为系统的帮助数据库未更新,如何解决此问题,需要在root用户下执行mandb”
2,rm、man命令的使用
rm --help ##查看命令的基本用法 [] ##内容可加可不加 … ##内容个数任意 <> ##必须在命令执行时加入的元素 man rm ##命令用法详解 man是manual的缩写 man -k passwd ##passwd关键字有多少级别的man ##man的级别 1 命令 2 系统调用 3 函数库调用 4 特殊文件(设备文件等) #5 文件 6 游戏 7 特殊的包 8 系统管理命令 9 内核信息规则 man rm ##进入到rm命令的帮助 q ##退出 /关键字 ##搜索关键字,n 向下匹配, N 向上匹配 G ##快速移动到man的最后 g ##表示快速移动到man的最前 具体操作如下:
[root@westos_student50 Desktop]
Usage: whoami [OPTION]...
Print the user name associated with the current effective user ID.
Same as id -un.
--help display this help and exit
--version output version information and exit
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation at: <https://www.gnu.org/software/coreutils/whoami>
or available locally via: info '(coreutils) whoami invocation'
[root@westos_student50 Desktop]
二、Linux系统中的用户管理
1.用户及用户组存在的意义
系统资源是有限的,如何合理分配系统资源? 在这个问题解决时必须要有资源配合 1.身份 account 2.授权 author 3.认证 auth 3A机制,3A机制组成系统中最底层的安全架构 2)用户组存在意义 用户组是一个逻辑容器 对用户进行归类和统一授权
2.用户及用户组在系统中存在的方式
电脑对数字敏感 id 人类对字符串敏感 名称 id <-------> 名称 必须要记录到文件当中用户才能存在 用户就是/etc/passwd文件中的一行字符 用户组存在的方式就是/etc/group 文件中的一行字符
3.用户切换
1)用户查看 *whomai ##查看当前用户 *id ##查看用户id信息 -u ##查看用户的用户id -g ##查看用户主组id -G ##查看用户所有的组的id -n ##显示名称 用户id范围: 0-65535 0: ##Linux超级用户ID 1-999: ##Liunx系统自用ID 1000-65535: ##用户级ID ##以上ID设定规则都被记录在/etc/login.defs
[root@westos_student50 Desktop]
root
[root@westos_student50 Desktop]
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@westos_student50 Desktop]
2)用户切换 su - username #切换用户环境 从超级用户切换到普通用户不需要密码 而从普通用户切换到超级用户或者普通用户都需要密码 ##注意:在做用户切换时当使用完毕用户身份及时退出 #不要在一个shell中反复执行su命令 #在一个shell中反复执行su命令会导致环境错乱
4.用户涉及到的配置文件
/etc/passwd ##用户身份信息文件 #用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell /etc/group ##组身份信息文件 #组名称:组密码:组id:组的附加成员 /etc/skel/.* ##用户环境配置文件模板 /etc/shadow ##用户认证信息文件 /home/username ##用户家目录 /var/spool/mail/username ##用户邮箱文件
5.用户和用户组的建立和删除
watch -n 1 “tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home” useradd username ##用户建立 -u id username ##uid 2**16=0-65535 ##0 表示超级用户 ##1-200 系统预留id ##201-999 系统用户 ##1000-60000 用户级用户 ##/etc/login.defs 记录用户建立的默认规则
-g id username ##主组id -G id username ##附加组id -d dir username ##指定用户家目录 -M username ##建立用户时不建立家目录 -c word username ##指定用户说明 -s shell username ##指定用shell userdel -r username ##用户删除 -r 删除用户的系统配置文件 groupadd groupname ##组建立 -g id groupname ##指定组名称 groupdel groupname ##组删除
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
groupdel: group 'linux' does not exist
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
useradd: user 'linux' already exists
[root@westos_student50 Desktop]
groupdel: cannot remove the primary group of user 'linux'
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
groupdel: group 'linux' does not exist
[root@westos_student50 Desktop]
useradd: group '2002' does not exist
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
> ^C
[root@westos_student50 Desktop]
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
[root@westos_student50 Desktop]
useradd: user 'linux' already exists
[root@westos_student50 Desktop]
userdel: /home/westos not owned by linux, not removing
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
[root@westos_student50 Desktop]
上边是对这些命令的执行,要注意删除用户的时候要记得加 -r,不然只会单纯删掉用户,而用户所带的配置文件等等都不会删除,所以为了避免不必要的麻烦,我们-r一次性删除
6.用户和用户组的信息管理
usermod -l #更改用户名称 -u #更改用户id -g #更改主组id -G #更改用户附加组身份 -aG #添加用户附加组身份 -c #更改用户说明 -d #更改家目录指向 -md #更改家目录指向同时更改家目录名称 -s #更改默认shell -L #冻结账号 -U #解锁 groupmod -g ##更改用户组id
7.用户认证信息管理
/etc/shadow 文件内容说明 用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期: 账号非活跃期:账号到期时间:用户自定义(未使用) #1.用户名称 passwd -S lee ##查看密码状态 #2.用户加密字符 #更改密码) passwd lee ##只有root可以执行 “echo 123 | passwd --stdin lee”
passwd` ##普通用户改密码
Changing password for user lee.
Current password:
#输入原始密码
New password:
Retype 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天内不能改密码 chage -m 1 lee
#密码最长有效期 passwd -x 40 lee ##40天内lee用户必须更新密码否则会被冻结 chage -M 30 lee
#密码过期警告 passwd -w 2 lee ##账号过期前警告时间 chage -W 1 lee
#认证非活跃天数 passwd -i 2 lee ##账号认证最大时间超过后还能用多久 chage -I 1 lee
#账号认证到期时间 chage -E “2020-05-11” ##到2020-5-11这天账号会被冻结 #未启用功能
passwd -i 3 linux 账号认证最大时间超过后还能用多久
总结
这一节首先对上一次没有完成的命令行获得帮助进行学习;然后主要对Linux中的系统用户管理进行学习,我们可以进行用户的切换、用户的建立、用户信息的修改以及用户密码的修改和管理,当然其中还夹杂着一些概念,我们都要去熟悉和掌握。
|