一、用户存在的意义
Linux系统其实是一个多用户、多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。比如:你想长期使用某大学的某某宿舍的某某床,你必须先考上大学,有了“某大学某专业某班级的学生谁谁谁”这个身份,你才能长期霸占你的床位。
用户的账号有两方面的作用:
1、帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问。
2、帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
二、用户组存在的意义
通过建立用户组,或者控制新建用户所在的用户组,可以控制用户访问系统的权限。即控制你的权限。
(1)在Linux中如何查看当前的用户是谁?
whoami ##查看当前的用户
示例:
(2)系统中用户的查看
id 用户名 ##查看指定用户信息
id -u 用户名 ##查看用户的uid
id -g 用户名 ##查看用户的gid
id -G 用户名 ##查看用户的所有组的id
id -n 用户名 ##显示名字而不是数字
id -nG 用户名 ##查看用户的所有组的名字
示例:
三、系统中如何切换用户
su - 用户名称
su - 中“-”表示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级用户的时候需要输入密码,平等用户之间切换也需要输入密码。
注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户。
gome-session-quit --force ##注销当前用户
用其他用户登陆
示例:
四、用户在Linux系统中的储存方式
1. 用户信息文件
/etc/passwd
用户信息文件
用户名称:密码:uid:uid:说明:家目录:默认shell
"说明:默认shell的指定有哪些可以查看系统中/etc/shells文件
示例:
2. 用户组信息文件
/etc/group
用户组信息文件
组的名字:组密码:组id:组成员
3. 认证信息文件
/etc/shadows
认证信息文件
4. 用户的骨文件
/etc/skel/.*
默认开启shell的配置,用户的骨文件
5. 用户的家目录
/home/usernema
用户的家目录
6. 监视命令
watch ##监视命令
watch -n 5 命令 ##监视一条命令以5秒执行一次
watch -n 4 tail -n 4 /etc/shadow ##监视一条命令以4秒执行一次
示例:
三、用户管理命令
1. 用户的删除
userdel kiosk ##删除用户但不删除用户的配置文件
userdel -r kiosk ##删除用户并删除用户的配置文件
2. 用户的建立
注意: 用用户监控命令可以清楚的看到效果
watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'
useradd ##建立用户时,读取/etc/login.defs文件内容确定规则
useradd -u 6666 用户名 ##指定用户uid
useradd -g 21 用户名 ##指定用户初始组id,“21”用户组必须存在
useradd -G 21 用户名 ##指定用户的附加组,“21”用户组必须存在
useradd -c 用户名 ##指定用户的说明
useradd -d 目录 ##指定用户的家目录
useradd -s 用户名 ##指定用户的默认shell
groupadd 组名 ##建立用户组
groupadd -g 666 组名 ##建立用户组并指定用户组的id
groupdel 组名 ##删除用户组
示例:
kill -9 ##级别最高的杀死进程