有没有做试卷的网站,网页设计教程完整,WordPress 长文 阅读,下载的网站模版怎么用目录 一、导入
1、基础
2、切换用户
二、用户与用户组基本信息
1、用户基本信息: /etc/passwd
2、用户密码信息#xff1a; /etc/shadow
3、用户组配置信息#xff1a; /etc/group
4、用户组密码信息#xff1a; /etc/gshadow
三、管理用户
1、添加用户-useradd命…目录 一、导入
1、基础
2、切换用户
二、用户与用户组基本信息
1、用户基本信息: /etc/passwd
2、用户密码信息 /etc/shadow
3、用户组配置信息 /etc/group
4、用户组密码信息 /etc/gshadow
三、管理用户
1、添加用户-useradd命令
1useradd基本操作
2useradd特殊操作
2、passwd使用
3、修改用户信息-usermod命令
4、删除用户-userdel命令
四、管理用户组
1、添加用户组-groupadd命令
2、修改用户组信息-groupmod命令
3、删除用户组信息-groupdel命令
六、其他命令
1、id与group命令
2、groupmems命令
3、修改用户有效组-newgrp命令
4、chage命令 一、导入
1、基础
Linux 是一个多用户操作系统支持多个用户同时登录操作系统window某些版本支持用户组是用户的逻辑组合自动继承用户组的权限用户和用户组既有名称也有数字形式的 IDroot 用户是系统超级管理员拥有最高的权限所有对象都可以操作查看当前登录账户命令为 whoami[wwwlocalhost ~]$ whoami
www2、切换用户 su命令实现任何身份的切换包括从普通用户切换为 root 用户、从 root 用户切换为普通用户以及普通用户之间的切换。【只切换用户不切换当前目录】 su - 命令切换到用户的主目录。 su - -c command 命令以root用户身份执行一条特权命令执行之后立刻恢复为普通用户,注意两个“-”之间有空格 [zyscentos7 ]$ su - root // 从用户zys切换到root用户
密码 在这里输入root用户的密码
上一次登录三 1月 20 09:30:43 CST 2021:0 上
[rootcentos7 ]# su - zys // 从root用户切换到普通用户不需要输入密码
[zyscentos7 ]$ exit // 退出用户zys返回root用户
登出
[rootcentos7 ]# exit // 退出root用户返回用户zys
登出
[zyscentos7 ]$[wwwlocalhost home]$ cat /etc/shadow
cat: /etc/shadow: Permission denied
[wwwlocalhost home]$ su - -c cat /etc/shadow
Password:
root:$1$yPSpfI5I$fK2IGiBSdP3bTAWiLJBmj1::0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::
...
[wwwlocalhost home]$二、用户与用户组基本信息 1、用户基本信息: /etc/passwd [wwwlocalhost ~]$ tail -n 10 /etc/passwd
setroubleshoot:x:990:984::/var/lib/setroubleshoot:/sbin/nologin
saned:x:989:983:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:988:982::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
www:x:1000:1000:www:/home/www:/bin/bash
tester1:x:1001:1001::/home/tester1:/bin/bash记录用户的基本信息每行代表一个用户每一行包含 7 个字段用“:”分隔各字段的含义如下①用户名一串代表用户身份的字符串。 ②密码x 表示此用户设有密码但不是真正的密码真正的密码保存在 /etc/shadow 文件中 ③UID用户 ID每个用户都有唯一的一个 UID当UID为0时表示超级用户系统用户UID范围为1~999普通用户UID为1000~65535.【在 Linux 中如何把普通用户升级成管理员呢只需把其他用户的 UID 修改为 0 就可以了此时用户名也变为root因为一个id对应一个用户名当id为0时用户名也变为root】 ④GID 简称“组ID”表示用户初始组的组 ID 号。 初始组指用户登陆时就拥有这个用户组的相关权限。每个用户的初始组只能有一个通常就是将和此用户的用户名相同的组名作为该用户的初始组。比如说我们手工添加用户 lamp在建立用户 lamp 的同时就会建立 lamp 组作为 lamp 用户的初始组。附加组指用户可以加入多个其他的用户组并拥有这些组的权限。每个用户只能有一个初始组除初始组外用户再加入其他的用户组这些用户组就是这个用户的附加组。附加组可以有多个而且用户可以有这些附加组的权限。附加组的身份是可以修改的但是我们在工作中不修改初始组只修改附加组因为修改了初始组有时会让管理员逻辑混乱。 ⑤用户描述信息用来解释这个用户的意义 ⑥主目录用户登录后有操作权限的访问目录通常称为用户的主目录。 root 超级管理员账户的主目录为 /root普通用户的主目录为 /home/yourIDname ⑦默认Shell可以理解为用户登录之后所拥有的权限。如果这里使用的是 bash 命令解释器就代表这个用户拥有权限范围内的所有权限。例如 [rootlocalhost ~]# vi /etc/passwd lamp:x:502:502::/home/lamp:/bin/bash 我手工添加了 lamp 用户它使用的是 bash 命令解释器那么这个用户就可以使用普通用户的所有权限。 如果我把 lamp 用户的 Shell 命令解释器修改为 /sbin/nologin那么这个用户就不能登录了例如 [rootlocalhost ~]# vi /etc/passwd lamp:x:502:502::/home/lamp:/sbin/nologin 因为 /sbin/nologin 就是禁止登录的 Shell。同样如果我在这里放入的系统命令如 /usr/bin/passwd例如 [rootlocalhost ~]#vi /etc/passwd lamp:x:502:502::/home/lamp:/usr/bin/passwd 那么这个用户可以登录但登录之后就只能修改自己的密码。但是这里不能随便写入和登陆没有关系的命令如 ls系统不会识别这些命令同时也就意味着这个用户不能登录。 2、用户密码信息 /etc/shadow
[wwwlocalhost ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied
[wwwlocalhost ~]$ ls -l /etc | grep shadow
----------. 1 root root 792 May 5 07:48 gshadow
----------. 1 root root 780 Apr 21 01:10 gshadow-
----------. 1 root root 1153 May 5 07:48 shadow
----------. 1 root root 1123 Apr 21 01:10 shadow-[wwwlocalhost ~]$ su root
Password:
[rootlocalhost www]# tail -10 /etc/shadow
setroubleshoot:!!:19103::::::
saned:!!:19103::::::
gdm:!!:19103::::::
gnome-initial-setup:!!:19103::::::
sshd:!!:19103::::::
avahi:!!:19103::::::
postfix:!!:19103::::::
tcpdump:!!:19103::::::
www:$1$yPSpfI5I$fK2IGiBSdP3bTAWiLJBmj1:19103:0:99999:7:::
tester1:!!:19117:0:99999:7:::
记录用户密码相关信息每行代表一个用户只有 root 用户可以查看每一行包含 9 个字段用“:”分隔各字段含义为①用户名一串代表用户身份的字符串。 ②密码x 表示此用户设有密码但不是真正的密码真正的密码保存在 /etc/shadow 文件中 ③最近一次密码修改日期此字段表示最后一次修改密码的时间Linux 计算日期的时间是以 1970 年 1 月 1 日作为 1 不断累加得到的时间到 1971 年 1 月 1 日则为 366 天。这里显示 15775 天也就是说此 www 账号在 1970 年 1 月 1 日之后的第 19103 天修改的www用户密码。 ④最小修改时间间隔:该字段规定了从第 3 字段最后一次修改密码的日期起多长时间之内不能修改密码。如果是 0则密码可以随时修改如果是 10则代表密码修改后 10 天之内不能再次修改密码。 ⑤密码有效期:这个字段可以指定距离第 3 字段最后一次更改密码多长时间内需要再次变更密码否则该账户密码进行过期阶段。 ⑥密码到期前的警告天数:与第 5 字段相比较当账户密码有效期快到时系统会发出警告信息给此账户提醒用户 再过 n 天你的密码就要过期了请尽快重新设置你的密码。该字段的默认值是 7也就是说距离密码有效期的第 7 天开始每次登录系统都会向该账户发出 修改密码 的警告信息。 ⑦密码到期后的宽限天数:也称为“口令失效日”简单理解就是在密码过期后用户如果还是没有修改密码则在此字段规定的宽限天数内用户还是可以登录系统的如果过了宽限天数系统将不再让此账户登陆也不会提示账户过期是完全禁用。比如说此字段规定的宽限天数是 10则代表密码过期 10 天后失效如果是 0则代表密码过期后立即失效如果是 -1则代表密码永远不会失效。 ⑧账号失效日期:同第 3 个字段一样使用自 1970 年 1 月 1 日以来的总天数作为账户的失效时间。该字段表示账号在此字段规定的时间之外不论你的密码是否过期都将无法使用该字段通常被使用在具有收费服务的系统中。 ⑨保留使用:这个字段目前没有使用等待新功能的加入。
3、用户组配置信息 /etc/group
[wwwlocalhost ~]$ tail /etc/group
slocate:x:21:
avahi:x:70:
postdrop:x:90:
postfix:x:89:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
www:x:1000:
tester1:x:1001:
[wwwlocalhost ~]$记录用户组信息每行代表一个用户组每一行包含 4 个字段用“:”分隔,各字段的含义如下①组名:用户组的名称有字母或数字构成。也不能重复。 ②组密码:这里的 x 仅仅是密码标识真正加密后的组密码默认保存在 /etc/gshadow 文件中。 ③GID:群组的 ID 号Linux 系统就是通过 GID 来区分用户组的 这里的组 GID 与 /etc/passwd 文件中第 4 个字段的 GID 相对应实际上/etc/passwd 文件中使用 GID 对应的群组名就是通过此文件对应得到的。 ④组内用户:此字段列出每个群组包含的所有用户。如果该用户组是这个用户的初始组则该用户不会写入这个字段可以这么理解该字段显示的用户都是这个用户组的附加用户。
4、用户组密码信息 /etc/gshadow
[wwwlocalhost ~]$ ls -l /etc/gshadow
----------. 1 root root 792 May 5 07:48 /etc/gshadow
[wwwlocalhost ~]$ head /etc/gshadow
head: cannot open ‘/etc/gshadow’ for reading: Permission denied
[wwwlocalhost ~]$ su root
Password:
[rootlocalhost www]# head /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
lp:::
mem:::
kmem:::
[rootlocalhost www]#1、记录用户组密码相关信息每行代表一个用户组
2、只有root可以访问
3、每一行包含4 个字段用“:”分隔各字段含义为
①组名同 /etc/group 文件中的组名相对应。
②加密密码对于大多数用户来说通常不设置组密码因此该字段常为空但有时为 !指的是该群组没有组密码也不设有群组管理员。
③组管理员考虑到 Linux 系统中账号太多而超级管理员 root 可能比较忙碌因此当有用户想要加入某群组时root 或许不能及时作出回应。这种情况下如果有群组管理员那么他就能将用户加入自己管理的群组中也就免去麻烦 root 了。不过由于目前有 sudo 之类的工具因此群组管理员的这个功能已经很少使用了。
④组附加用户列表该字段显示这个用户组中有哪些附加用户和 /etc/group 文件中附加组显示内容相同。
三、管理用户
1、添加用户-useradd命令
使用 useradd 命令新建用户此命令的基本格式如下 useradd [选项] 用户名 选项 功能说明 -d homedir 指定用户的主目录必须是绝对路径 -u uid 指定用户的 UID -g gid | gname 指定用户主组的 GID 或组名必须是已经存在的组 -G groups 指定用户的附加组如果有多个附加组就用“,”分隔 -m 强制建立用户的主目录这是普通用户的默认值 -M 不要建立用户的主目录这是系统用户的默认值 -s shell 指定用户的默认 Shell -c comment 关于用户的简短描述也就是 /etc/passwd 第 5 列的内容 -r 创建一个系统用户UID 在 1000 以内 -e expiredate 指定账号失效日期即 /etc/shadow 的第 8 列格式为YYYY-MM-DD -f inactive 用户密码到期后的宽限天数即 /etc/shadow 的第 7 列。 0 表示立即失效-1 为永远不失效
1useradd基本操作
系统已经帮我们规定了非常多的默认值在没有特殊要求下无需使用任何选项即可成功创建用户。例如 useradd tester2 此条命令完成以下操作
① 在 /etc/passwd 文件中新增一行与新用户相关的数据
② 在 /etc/shadow 文件中写入一行与新用户相关的密码数据
③ 在 /etc/group 文件中新增一行与新用户同名的用户组
④ 在 /home 目录下创建与新用户同名的目录作为新用户的主目录 例
[rootcentos7 ~]# useradd shaw
[rootcentos7 ~]# grep shaw /etc/passwd
shaw:x:1001:1001::/home/shaw:/bin/bash
[rootcentos7 ~]# grep shaw /etc/shadow
shaw:!!:18647:0:99999:7:::
[rootcentos7 ~]# grep shaw /etc/group
shaw:x:1001:
[rootcentos7 ~]# ls -ld /home/shaw
drwx------. 3 shaw shaw 78 1月 20 10:08 /home/shaw 2useradd特殊操作
例添加新用户用户名为 tong手动指定其UID和主组
[rootcentos7 ~]# useradd -u 1234 -g zys tong
[rootcentos7 ~]# grep tong /etc/passwd
tong:x:1234:1000::/home/tong:/bin/bash 1000是zys用户组的GID
[rootcentos7 ~]# grep tong /etc/group // 未创建同名用户组例创建一个具有root权限的用户
[rootcentos7 ~]# useradd -ou 0 -g 0 tom //-o表示可创建重复的UID2、passwd使用
功能修改用户密码命令格式为 passwd [选项] 用户名 选项 功能说明 -l 锁定用户即“lock”。在 /etc/shadow 的第一列前加“”使密码无效只有 root 用户可以使用这个选项 -u 解锁用户即“unlock”作用与-l选项相反只有 root 用户能够使用 -S 查询用户密码的相关信息也就是 /etc/shadow 文件的内容 -n mindays 密码修改后多长时间内不能再修改密码即 /etc/shadow 第 4 列的内容 -x maxdays 密码有效期即 /etc/shadow 第 5 列的内容 -w warndays 密码过期前的警告天数即 /etc/shadow 第 6 列的内容 -i inactivedays 密码失效日期即 /etc/shadow 第 7 列的内容 -c comment 关于用户的简短描述也就是 /etc/passwd 第 5 列的内容
root用户修改普通用户的密码root 用户可以修改普通用户的密码
[rootcentos7 ~]# passwd zys // 以root用户身份修改zys用户的密码
更改用户 zys 的密码 。
新的 密码 在这里输入zys用户的密码
无效的密码 密码少于 8 个字符 提示密码太简单但只是提示
重新输入新的密码 确定新密码
passwd所有的身份验证令牌已经成功更新。
普通用户修改自己密码要求1普通用户只能修改自己的密码、要求2普通用户修改密码前必须输入原密码、要求3普通用户设置的密码必须满足密码复杂性要求
[zyscentos7 ~]$ passwd // 为自己修改密码
更改用户 zys 的密码 。
为 zys 更改 STRESS 密码。
当前UNIX 密码 在这里输入原密码
新的 密码 在这里输入新密码
无效的密码 密码少于 8 个字符 新密码不满足复杂性要求
新的 密码 重新输入新密码
重新输入新的 密码 再次输入新密码
passwd所有的身份验证令牌已经成功更新。
例用户密码 10 天内不允许修改、但 30 天内必须修改、密码到期前 5 天会有提示
[rootcentos7 ~]# passwd -n 10 -x 30 -w 5 zys
调整用户密码老化数据zys。
passwd: 操作成功3、修改用户信息-usermod命令
如果不小心添错用户信息后期如何修改呢使用usermod命令。
基本命令格式 usermod [选项] 用户名 选项和useradd类似。这里不再做赘述。
注
useradd 命令用于添加用户当然添加用户时可以对用户信息进行定制
usermod 命令针对与已存在的用户使用该命令可以修改它们的信息。
[rootcentos7 ]# grep shaw /etc/passwd
shaw:x:1001:1001::/home/shaw:/bin/bash
[rootcentos7 ]# usermod -d /home/shaw2 -u 1111 -g 1000 shaw
[rootcentos7 ]# grep shaw /etc/passwd
shaw:x:1111:1000::/home/shaw2:/bin/bash GID为1000表示zys组如果指定的用户目录不存在呢
答命令执行成功但不会创建不存在的文件夹。 4、删除用户-userdel命令
功能userdel 命令的作用就是从下面文件中删除与指定用户有关的数据信息。
用户基本信息存储在 /etc/passwd 文件中用户密码信息存储在 /etc/shadow 文件中用户群组基本信息存储在 /etc/group 文件中用户群组信息信息存储在 /etc/gshadow 文件中用户个人文件主目录默认位于 /home/用户名邮箱位于 /var/spool/mail/用户名。
基本格式如下 userdel -r 用户名 -r 选项表示在删除用户的同时删除用户的家目录。
注意在删除用户的同时如果不删除用户的根目录那么根目录就会变成没有属主和属组的目录也就是垃圾文件。
[rootcentos7 ]# userdel -r shaw // 删除用户shaw并删除用户主目录
userdel组“shaw”没有移除因为它不是用户 shaw 的主组
[rootcentos7 ]# grep shaw /etc/passwd
[rootcentos7 ]# grep shaw /etc/shadow
[rootcentos7 ]# grep shaw /etc/group
shaw:x:1001: 没有删除shaw组
[rootcentos7 ~]# grep zys /etc/group
zys:x:1000:zys 也没有删除zys组
[rootcentos7 ]# ls -d /home/shaw2 #-d仅列出目录本身而不列出目录内文件数据
ls: 无法访问/home/shaw2: 没有那个文件或目录 用户主目录一同被删除四、管理用户组
1、添加用户组-groupadd命令
命令格式如下: groupadd [选项] 组名 选项
-g GID指定组 ID-r创建系统群组。
[rootcentos7 ]# groupadd devteam // 新增用户组
[rootcentos7 ]# grep devteam /etc/group
devteam:x:1002: 在/etc/group文件中添加用户组信息
[rootcentos7 ]# groupadd -g 1008 ict // 添加用户组时指定GID
[rootcentos7 ]# grep ict /etc/group
ict:x:1008:2、修改用户组信息-groupmod命令
命令格式如下 groupmod [选现] 组名 选项
-g GID修改组 ID-n 新组名修改组名
[rootcentos7 ]# grep ict /etc/group
ict:x:1008: 原GID为1008
[rootcentos7 ]# groupmod -g 1100 ict // 修改GID
[rootcentos7 ]# grep ict /etc/group
ict:x:1100: GID已修改
[rootcentos7 ]# groupmod -n newict ict // 修改组名
[rootcentos7 ]# grep ict /etc/group
newict:x:1100: 组名已修改
3、删除用户组信息-groupdel命令
功能删除用户组本命令要修改的系统文件包括/ect/group和/ect/gshadow。 groupdel 组名 [rootcentos7 ]# grep zys /etc/passwd
zys:x:1000:1000::/home/zys:/bin/bash
[rootcentos7 ~]# grep -E zys | newict /etc/group // 查找zys和newict两个用户组
zys:x:1000:zys
newict:x:1100:
[rootcentos7 ]# groupdel newict // 删除用户组newict
[rootcentos7 ]# grep newict /etc/group // newict删除成功
[rootcentos7 ]# groupdel zys
groupdel不能移除用户“zys”的主组 删除zys失败
注 不能删除用户的主组
六、其他命令
1、id与group命令
id命令功能用户的UID、GID 和附加组的信息。
命令格式 id 用户名 group命令功能显示用户的组信息与 id -Gn 命令效果相同命令格式 group 用户名 [rootcentos7 ]# id zys // 查看zys用户的相关信息
uid1000(zys) gid1000(zys) 组1000(zys)
[rootcentos7 ]# usermod -G devteam zys // 将zys用户添加到devteam组中
[rootcentos7 ]# id zys
uid1000(zys) gid1000(zys) 组1000(zys),1002(devteam)
[rootcentos7 ]# groups zys // 查看用户组信息
zys : zys devteam 附加组中出现devteam2、groupmems命令
n功能把用户添加到或移出用户组命令格式groupmems [选项] 常用选项为选项 功能说明 -a username 把用户添加到组中 -d username 从组中移除用户 -g grpname 目标用户组 -l 显示组成员 -p 删除组内所有用户 [rootcentos7 ]# groupmems -l -g devteam // 查看用户组内有哪些用户
zys 当前只有zys一个用户
[rootcentos7 ]# groupmems -a tong -g devteam // 向devteam组中添加用户tong
[rootcentos7 ]# groupmems -l -g devteam
zys tong
[rootcentos7 ]# groupmems -d tong -g devteam // 从devteam组中移除用户tong
[rootcentos7 ]# groupmems -l -g devteam
zys3、修改用户有效组-newgrp命令 每个用户可以属于一个初始组用户是这个组的初始用户也可以属于多个附加组用户是这个组的附加用户。既然用户可以属于这么多用户组那么用户在创建文件后默认生效的组身份是哪个呢 当然是初始用户组的组身份生效因为初始组是用户一旦登陆就获得的组身份。也就是说用户的有效组默认是初始组因此所创建文件的属组是用户的初始组。那么既然用户属于多个用户组能不能改变用户的初始组呢使用命令 newgrp 就可以。功能可以从用户的附加组中选择一个群组作为用户新的初始组。命令格式newgrp 组名 [zyscentos7 tmp]$ groups zys // 当前登录用户是zys
zys : zys devteam 主组是zys同时属于附加组devteam
[zyscentos7 tmp]$ touch file1
[zyscentos7 tmp]$ newgrp devteam // 设置devteam为有效用户组
[zyscentos7 tmp]$ touch file2
[zyscentos7 tmp]$ ls -l
-rw-rw-r--. 1 zys zys 0 1月 20 11:06 file1 file1的属组是zys
-rw-r--r--. 1 zys devteam 0 1月 20 11:08 file2 file2的属组为devteam4、chage命令
功能显示用户的密码信息和带 -S 选项的 passwd 命令效果类似命令格式 chage [选项] 用户名 选项
-l列出用户的详细密码状态;-d 日期修改 /etc/shadow 文件中指定用户密码信息的第 3 个字段也就是最后一次修改密码的日期格式为 YYYY-MM-DD-m 天数修改密码最短保留的天数也就是 /etc/shadow 文件中的第 4 个字段-M 天数修改密码的有效期也就是 /etc/shadow 文件中的第 5 个字段-W 天数修改密码到期前的警告天数也就是 /etc/shadow 文件中的第 6 个字段-i 天数修改密码过期后的宽限天数也就是 /etc/shadow 文件中的第 7 个字段-E 日期修改账号失效日期格式为 YYYY-MM-DD也就是 /etc/shadow 文件中的第 8 个字段。
[rootcentos7 ]# passwd -S zys
zys PS 2021-01-20 0 99999 7 -1 (密码已设置使用 SHA512 算法。)
[rootcentos7 ]# chage -l zys
最近一次密码修改时间 从不
密码过期时间 从不
密码失效时间 从不
帐户过期时间 从不
两次改变密码之间相距的最小天数 0
两次改变密码之间相距的最大天数 99999
在密码过期之前警告的天数 7
参考自http://c.biancheng.net