本文以Linux系统为例,为大家分析如何在Linux系统中用命令管理用户账号和组,阅读完整文相信大家对管理用户账号和组命令的使用有了一定的认识。
成都创新互联公司是一家专注于成都网站设计、成都网站建设与策划设计,黄梅网站建设哪家好?成都创新互联公司做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:黄梅等地区。黄梅做网站价格咨询:18980820575
Linux基于用户身份对资源访问进行控制。
超级用户(root);
普通用户;
程序用户;
- UID(User IDentify)用户标识号;
/etc/passwd文件用于保存用户名称、宿主目录、登录Shell等基本信息;每一行对应一个用户的账号记录。如下图:
/etc/shadow文件用于保存用户的密码、账号有效期等信息,每一行对应一个用户的密码记录。如下图:
添加用户账号的命令及常用选项格式如下:
应用举例:
[root@centos01 ~]# useradd -d /bob -g root -G root bob
[root@centos01 ~]# tail -2 /etc/passwd
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
bob:x:1001:0::/bob:/bin/bash
[root@centos01 ~]# useradd -M -s /sbin/nologin tom
[root@centos01 ~]# tail -2 /etc/passwd
bob:x:1001:0::/bob:/bin/bash
tom:x:1002:1002::/home/tom:/sbin/nologin
设置/更改用户密码的基本命令格式语法及常用选项如下:
应用举例:
[root@centos01 ~]# passwd bob
更改用户 bob 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@centos01 ~]# passwd -l bob
锁定用户 bob 的密码 。
passwd: 操作成功
[root@centos01 ~]# passwd -S bob
bob LK 2020-01-11 0 99999 7 -1 (密码已被锁定。)
[root@centos01 ~]# passwd -u bob
解锁用户 bob 的密码。
passwd: 操作成功
[root@centos01 ~]# passwd -S bob
bob PS 2020-01-11 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[root@centos01 ~]# passwd -d bob
清除用户的密码 bob。
passwd: 操作成功
[root@centos01 ~]# userdel -r bob
[root@centos01 ~]# tail -2 /etc/passwd
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
tom:x:1002:1002::/home/tom:/sbin/nologin
文件来源于新建用户账户时,从/etc/skel目录中复制而来;主要的用户初始配置文件如下:
~/.bash_profile:每次登录时执行。
~/.bashrc:每次进入新Bash环境时执行。
基本组(私有组);
附加组(公共组);
- GID:组标识号
/etc/group文件用于保存组账号基本信息;如下所示:
[root@centos01 ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
............
/etc/gshadow文件用于保存组账号的密码信息;如下所示:
[root@centos01 ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
............
添加组账号命令的基本格式如下:
应用举例:
[root@centos01 ~]# groupadd -g 200 accp
[root@centos01 ~]# tail -3 /etc/group
tcpdump:x:72:
test:x:1000:
accp:x:200:
[root@centos01 ~]# groupadd benet
[root@centos01 ~]# tail -3 /etc/group
dhcpd:x:177:
tom:x:1002:
benet:x:1003:
设置组账号密码、添加/删除组成员;命令的基本格式及常用选项如下:
应用举例:
[root@centos01 ~]# gpasswd -a bob benet
正在将用户“bob”加入到“benet”组中
[root@centos01 ~]# tail -2 /etc/group
tom:x:1002:
benet:x:1003:bob
[root@centos01 ~]# gpasswd -M tom,lisi benet
[root@centos01 ~]# tail -2 /etc/group
benet:x:1003:tom,lisi
lisi:x:1004:
[root@centos01 ~]# gpasswd -d tom benet
正在将用户“tom”从“benet”组中删除
[root@centos01 ~]# tail -2 /etc/group
benet:x:1003:lisi
lisi:x:1004:
删除组账号命令的基本格式如下:
应用举例:
[root@centos01 ~]# groupdel benet
useradd命令中的“-g”选项指定用户的基本组名(或GID号);“-G”选项指定用户的附加组名(或GID号)。
应用举例:
[root@centos01 ~]# useradd -d /bob -g root -G root bob
[root@centos01 ~]# tail -2 /etc/passwd
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
bob:x:1001:0::/bob:/bin/bash
id用于查询用户身份标识;命令基本语法格式如下:
应用举例:
[root@centos01 ~]# id bob
uid=1003(bob) gid=0(root) 组=0(root),1005(benet)
groups命令用于查询用户所属的组;命令基本语法格式如下:
应用举例:
[root@centos01 ~]# groups bob
bob : root benet
finger命令用于查询用户账号的详细信息;命令基本语法格式如下:
users、w和who命令用于查询已登录到主机的用户信息。应用举例如下:
[root@centos01 ~]# users
root
[root@centos01 ~]# w
01:57:23 up 53 min, 1 user, load average: 0.00, 0.01, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.100.254 01:04 3.00s 0.05s 0.00s w
[root@centos01 ~]#
[root@centos01 ~]# who
root pts/0 2020-01-17 01:04 (192.168.100.254)
关于Linux用户账号和组的管理就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。