Linux基于用户身份对资源访问进行控制。算法
超级用户(root);centos
普通用户;bash
程序用户;tcp
- UID(User IDentify)用户标识号;
/etc/passwd文件用于保存用户名称、宿主目录、登陆Shell等基本信息;每一行对应一个用户的帐号记录。以下图:ide
/etc/shadow文件用于保存用户的密码、帐号有效期等信息,每一行对应一个用户的密码记录。以下图:ui
添加用户帐号的命令及经常使用选项格式以下:3d
应用举例:code
<!--建立bob用户,管理组为root,附加组为root,指定宿主目录为/bob--> [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 <!--建立tom用户,不须要建立宿主目录,帐户不能登陆系统--> [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
设置/更改用户密码的基本命令格式语法及经常使用选项以下:server
应用举例:blog
[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用户)--> 正在将用户“bob”加入到“benet”组中 [root@centos01 ~]# tail -2 /etc/group tom:x:1002: benet:x:1003:bob [root@centos01 ~]# gpasswd -M tom,lisi benet <!--批量添加用户到benet组中 --> [root@centos01 ~]# tail -2 /etc/group benet:x:1003:tom,lisi lisi:x:1004: [root@centos01 ~]# gpasswd -d tom benet <!--将tom用户退出benet组--> 正在将用户“tom”从“benet”组中删除 [root@centos01 ~]# tail -2 /etc/group benet:x:1003:lisi lisi:x:1004:
删除组帐号命令的基本格式以下:
应用举例:
[root@centos01 ~]# groupdel benet <!--删除benet组-->
useradd命令中的“-g”选项指定用户的基本组名(或GID号);“-G”选项指定用户的附加组名(或GID号)。
应用举例:
<!--建立bob用户,管理组为root,附加组为root,指定宿主目录为/bob--> [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)
———————— 本文至此结束,感谢阅读 ————————