一:用户账户文件和组群文件
1:理解账户文件:/etc/passwd
2:在Linux系统中,所创建的用户账户及其相关信息(密码除外)均放在/etc/passwd配置文件中,
用vim编辑器(或者使用cat /etc/passwd)打开passwd文件。
[dengzhaoxu@calm ~]$ cat -b /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
3:passwd文件的每一行都代表着一个用户,每一行用“:”分7个域
//格式 用户名:加密口令:UID:GID:用户的描述信息:主目录:命令解释器(登陆shell)
4:创建新用户并将其加入群组。将user_s1和user_s2加入到user中.
[dengzhaoxu@calm ~]$ su root
密码:
[root@calm dengzhaoxu]# useradd user
[root@calm dengzhaoxu]# useradd user_s1
[root@calm dengzhaoxu]# useradd user_s2
[root@calm dengzhaoxu]# useradd -G user user_s1
useradd:用户“user_s1”已存在
[root@calm dengzhaoxu]# useradd -G user user_s2
useradd:用户“user_s2”已存在
二:etc/shadow文件:
1:由于所有用户对/etc/passwd文件均有读取权限,为了增强系统的安全性,用户经过加密之后的口令都
存放在/etc/shadow文件中。/etc/shadow文件只对root用户可读,因而大大提高了系统的安全性。
2:shadow文件的每一行也用“:”分为9个域。
sshd:!!:18255::::::
avahi:!!:18255::::::
postgres:!!:18255::::::
postfix:!!:18255::::::
ntp:!!:18255::::::
tcpdump:!!:18255::::::
三:理解组群文件:
1:组群账户的信息存放在/etc/group(查看不受限制)文件中,而关于组群管理的信息(组群口令、组群管理员等)
则存放在/etc/gshadow(该文件只能root可以查看)文件中。
[root@calm dengzhaoxu]# cat /etc/group
root:x:0: //文件每行分为四个域。
bin:x:1: //格式 组群名称:组群口令(一般为空用x占位):GID:组群成员列表
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
[root@calm dengzhaoxu]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
四:管理用户账户:
1:新建用户:在系统新建用户可以使用useradd或者adduser命令。
useradd命令的格式:useradd [选项] <user_Name>
2:选项:
选项 | 说明 |
-s shell | 指定用户的登陆shell,默认为bin/bash |
-c comment | 用户的注释信息 |
-d home_dir | 指定用户的主目录 |
-e expire_date | 禁用帐号的日期:格式为:YYYY-WW-DD |
- u UID | 指定用户的UID,他必须是唯一的,且必须要大于499 |
-p passwd | 加密的口令 |
- g initial_group | 用户所属主组群的组群名称或者GID |
3:新建用户user3,UID为1010,指定其所属的私有组为group1(group1组的标识符为1010),用户的主目录为/home/user3,
用户的shell为/bin/bash,用户的密码为123456,账户永不过期。
[root@calm dengzhaoxu]# groupadd -g 1010 group1 //新建组群group1
[root@calm dengzhaoxu]# useradd -u 1010 -g 1000 -d /home/user1 -s /bin/bash -p 123456 -f -1 user1
4:设置用户账户口令:
指定和修改用户账户口令的命令是passwd。超级用户可以为自己和其他用户设置口令,而普通用户只能为自己设置口令。
passwd命令的格式为:passwd [选项] [用户名字]
[root@calm dengzhaoxu]# useradd -u 1010 -g 1000 -d /home/user3 -s /bin/bash -p 123456 -f -1 user3
[root@calm dengzhaoxu]# passwd user3
更改用户 user3 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
抱歉,密码不匹配。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
抱歉,密码不匹配。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@calm dengzhaoxu]# passwd -n 10 user_s3 //-n:表示指定口令最短的存活期为10天。
调整用户密码老化数据user_s3。
passwd: 操作成功
[root@calm dengzhaoxu]# passwd -n 10 -x 12 user_s3 //最短10天最长12(-x:表示最长)天
调整用户密码老化数据user_s3。
passwd: 操作成功
[root@calm dengzhaoxu]#
5:chage命令:要修改用户账户口令,也可以用chage命令实现
语法格式:chage [选项] username
设置user_s3用户的最短口令存活期为6天,最长口令存活期为60天,口令到期前5天提醒用户修改口令。设置完成后查看各属性值。
[root@calm dengzhaoxu]# chage -m 6 -M 60 -W 5 user_s3
[root@calm dengzhaoxu]# chage -L user1
chage:无效选项 -- L
用法:chage [选项] 登录
选项:
-d, --lastday 最近日期 将最近一次密码设置时间设为“最近日期”
-E, --expiredate 过期日期 将帐户过期时间设为“过期日期”
-h, --help 显示此帮助信息并推出
-I, --inactive INACITVE 过期 INACTIVE 天数后,设定密码为失效状态
-l, --list 显示帐户年龄信息
-m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为“最小天数”
-M, --maxdays 最大天数 将两次改变密码之间相距的最大天数设为“最大天数”
-R, --root CHROOT_DIR chroot 到的目录
-W, --warndays 警告天数 将过期警告天数设为“警告天数”
[root@calm dengzhaoxu]# chage -l user_s3
最近一次密码修改时间 :2月 10, 2020
密码过期时间 :4月 10, 2020
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :6
两次改变密码之间相距的最大天数 :60
在密码过期之前警告的天数 :5
五:维护用户账户:
1:usermod命令:
usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
[root@calm dengzhaoxu]# id user_s3 //查看user_s3的部分信息。
uid=1011(user_s3) gid=1011(user_s3) 组=1011(user_s3)
[root@calm dengzhaoxu]# id user_s3
uid=1011(user_s3) gid=1011(user_s3) 组=1011(user_s3)
[root@calm dengzhaoxu]# usermod -G root user_s3 //-G:变更扩展用户组
[root@calm dengzhaoxu]# id user_s3
uid=1011(user_s3) gid=1011(user_s3) 组=1011(user_s3),0(root)
[root@calm dengzhaoxu]# usermod -u 8888 user_s3 //修改UID
[root@calm dengzhaoxu]# id user_s3
uid=8888(user_s3) gid=1011(user_s3) 组=1011(user_s3),0(root)
[root@calm dengzhaoxu]#
2:禁用用户和删除用户:有时需要临时禁用一个账户而不删除它。禁用用户账户可以用passwd或usermod命令实现,
也可以直接修改/etc/passwd或/etc/shadow文件。
[root@calm dengzhaoxu]# passwd -l user_s3 //-l命令禁用
锁定用户 user_s3 的密码 。
passwd: 操作成功
[root@calm dengzhaoxu]# tail -1 /etc/shadow //tail:命令查看
user_s3:!!:18302:6:60:5:::
[root@calm dengzhaoxu]# passwd -u user_s3 //-u 命令解锁
解锁用户 user_s3 的密码。
passwd: 警告:未锁定的密码将是空的。
passwd: 不安全的操作(使用 -f 参数强制进行该操作)
3:userdel命令:
要删除一个账户,可以直接删除/etc/passwd和/etc/shadow文件中要删除的用户所对应的行,或者用userdel命令删除。
userdel格式:userdel [-r] username
-r:如果不加-r选项,userdel命令会在系统中所有与账户有关的文件中(例如/etc/passwd,/etc/shadow,/etc/group)
将用户的信息全部删除。如果加-r选项,则在删除用户账户的同时,还将用户主目录以及其下的所有文件和目录全部删除掉。另外,
如果用户使用E-mail的话,同时也将/var/spool/mail目录下的用户文件删掉。
六:管理组群:组群管理包括新建组群、维护组群账户和为组群添加用户等内容。
1:创建组群:
[root@calm dengzhaoxu]# groupadd testgroup
[root@calm dengzhaoxu]# groupadd testgroup
groupadd:“testgroup”组已存在
2:删除组群:需要注意的是,如果要删除的组群是某个用户的主组群,则该组群不能被删除。
[root@calm dengzhaoxu]# groupdel testgroup
3:修改组群:
命令格式:groupmod [选项] groupName
[root@calm dengzhaoxu]# groupadd testgroup
[root@calm dengzhaoxu]# groupmod -g 1002 testgroup //
groupmod:GID “1002”已经存在
[root@calm dengzhaoxu]# groupmod -g 10112 testgroup //-g:表示修改组群的GID为10112
[root@calm dengzhaoxu]# groupmod -n testGroup testgroup //修改组群名字
4:为组群添加新用户:在Red Hat Linux中使用不带任何参数的useradd命令创建用户时,会同时创建一个和用户账户同名的组群,
称为主组群。当一个组群中必须包含多个用户时,则需要使用附属组群。在附属组中增加、删除用户都用gpasswd命令。
命令格式:gpasswd [选项] 用户 组
[root@calm dengzhaoxu]# useradd -u 10101 -g 10002 -d /home/user4 -s /bin/bash -p 123456 -f -1 user4
useradd:“10002”组不存在
[root@calm dengzhaoxu]# useradd -u 10101 -g 1002 -d /home/user4 -s /bin/bash -p 123456 -f -1 user4
[root@calm dengzhaoxu]# id user4
uid=10101(user4) gid=1002(user_s1) 组=1002(user_s1)
[root@calm dengzhaoxu]# gpasswd -a user4 testGroup //创建ueser4时就创建了一个名为user4的主组,-a:表示将用户加入到附属组testGroup中。
正在将用户“user4”加入到“testGroup”组中
[root@calm dengzhaoxu]#
七:使用用户管理器管理用户和组群:默认图形界面的用户管理器是没有安装的,需要安装system-config-users工具
1:在使用su命令进行用户的切换时,导致root密码暴露,从而增大了黑客的入侵的概率.
2:[dengzhaoxu@calm ~]$ rpm -qa|grep system-config-users //该命令是用于检测是否安装管理器.|:为管道符.
3:使用yum命令安装:
[root@calm dengzhaoxu]# vim /etc/yum.repos.d/dvd.repo //编写dvd.repo文件.文件内容在后面给出.
[root@calm dengzhaoxu]# yum info system-config-users
已加载插件:langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
dvd | 4.3 kB 00:00
sublime-text | 2.9 kB 00:00
(1/2): dvd/group_gz | 146 kB 00:00
(2/2): dvd/primary_db | 4.2 MB 00:00
可安装的软件包
名称 :system-config-users
架构 :noarch
版本 :1.3.5
发布 :4.el7
大小 :337 k
源 :dvd
简介 : A graphical interface for administering users and groups
网址 :https://than.fedorapeople.org/system-config-users
协议 : GPLv2+
描述 : system-config-users is a graphical utility for administrating
: users and groups. It depends on the libuser library.
[root@calm dengzhaoxu]# yum clean all //按照教科书上说的安装前先清理软件源.
[root@calm dengzhaoxu]# yum install system-config-users -y //开始安装.
文件内容:
#/etc/yum.repos.d/dvd.repo
#or for ONLY the media repo,do this:
#yum --disablerepo=\* --enablerepo=c6-media [command]
[dvd]
name=dvd
baseurl=file:///iso
gpgcheck=0
enabled=1
[root@calm dengzhaoxu]# system-config-users //打开用户管理器.
八:使用常用的账户管理命令:
1:vipw命令等价于:vim /etc/passwd //使用vipw编写passwd文件更安全.
2:vigr命令等价于:vim /etc/group
3:pwck命令:pwck命令用于验证用户账户文件认证信息的完整性。
该命令检测/etc/passwd文件和/etc/shadow文件每行中字段的格式和值是否正确。pwck命令的语法为
4:grpck命令用于验证组群文件认证信息的完整性。该命令还可检测/etc/group文件和/etc/gshadow文件每行中字段的格式和值是否正确
5:id命令:用于显示一个用户的UID和GID以及用户所属的组列表。在命令行输入id直接回车将显示当前用户的ID信息。
id命令的语法为:id [选项] userName
6:finger命令:
finger [选项] userName :管理员和其他用户都可以用finger命令来了解用户 //选项有:-l,-m,-s,-p共四种。
7:chfn,chsh命令:
用户自己可以使用chfn和chsh命令来修改finger命令显示的内容
8:whoami命令用于显示当前用户的名称。whoami命令与id -un命令的作用相同。
9:newgrp命令:
10:使用groups命令可以列出指定用户的组群