1.用户及用户组存在的意义
用户就是操作者在系统中的身份。为了保证linux系统的安全,不同类型的用户应该具有不同的权限,可以操作不同的系统资源。
用户的类型可分为三种,超级用户,系统用户,普通用户。
超级用户:用户名为root或者USER ID(UID)为0的帐号,具有一切的权限,可以操作系统中的任何资源。root可以进行基础的文件操作及特殊的系统管理,另外可以进行网络管理,可以修改系统中的任何文件。日常工作中应该避免此类帐号,错误的操作可能会带来不可估量的损失。
系统用户:正常运行系统时所使用的账户。每一个进程运行在系统中都有一个相应的属主,比如一个进程以何种的身份运行。这些身份就是系统中对应的用户帐号。注意系统账户是不能用来登录的,比如bin,daemon,mail等。
普通用户:普通的使用者,能使用系统中的大部分资源,一定的权限受到控制。用户只对自己的目录有写的权限,读写权限受到一定的限制,从而保证系统中的安全,大部分用户属于此类。
组:具有相同权限的用户的集合。
2.用户及用户组在系统中的存在方式
用户是系统最底层的安全机制的一部分,用户在系统中以字符和文件的形式存在。
linux的用户管理涉及到用户的帐号文件为/etc/passwd,用户的密码文件为/etc/shadow,用户组的文件为/etc/group。
3.用户切换
(1)用户查看
*whoami ##查看当前用户
*id ##查看用户id信息
-u username ##查看用户的用户id
-g ##查看用户主组id
-G ##查看用户所有的组的id
-n ##显示名称
用户id范围:
0-65535
0: ##Linux超级用户ID
1-999: ##Liunx系统自用ID
1000-65535: ##用户级ID
##以上ID设定规则都被记录在/etc/login.defswhoami
(2)用户切换
su - username
- ##切换用户环境
username ##如果从root用户切换到普通用户,不需要密码
##如果从普通用户切换到root用户,需要root用户的密码
##如果从普通用户切换到另一个普通用户,需要后者的密码
注意:在做用户切换时,当使用完毕用户身份后应及时退出,不要在一个shell中反复执行su命令,否则会导致环境错乱。
4.用户涉及到的系统配置文件
/etc/passwd ##用户身份信息文件
##用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell
/etc/group ##组身份信息文件
##组名称:组密码:组id:组的附加人员
/etc/skel/* ##用户环境配置文件模板
/etc/shadow ##用户认证信息文件
/home/username ##用户家目录
/var/spool/mail/username ##用户邮箱文件
5.用户和用户组建立及删除
watch -n 1 “tail -n 4 /etc/passwd /etc/group; echo =======;ls -l /home”
useradd username ##用户建立
-u id username ##用户id
-g id username ##主组id
-G id username ##附加组id
-d dir username ##指定用户家目录
-M username ##建立用户时不建立家目录
userdel -r username ##用户删除 #-r 删除用户的系统配置文件
groupadd groupname ##组建立
-g id groupname ##组id
groupdel groupname ##组删除
6.用户和用户组的信息管理
usermod
-l ##更该用户名称
-u ##更改用户id
-g ##更改主组id
-G ##更该用户附加组id
-aG ##添加用户附加组身份
-c ##更该用户说明
-d ##更改家目录指向
-L ##冻结账号
-U ##解锁
groupmod -g ##更改用户组id
7.用户认证信息管理
/etc/shadow 用户名称:用户密码加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:账号非活跃期:账号到期时间:用户自定义(未使用)
(1)用户名称
passwd -S username ##查看密码状态
(2)用户加密字符
passwd username ##普通用户改密码
Changing password for user xxxx.
Current password: ##输入原始密码
New password: ##输入新密码(8位以上无序数字+无序字母组合)
passwd: all authentication tokens updated successfully.
passwd -l username ##冻结账号认证
passwd -u username ##解锁账号认证
passwd -d username ##删除密码
8.用户权力下放
在系统中普通用户是无法执行系统管理命令的,如果需要普通用户执行系统管理动作,那么需要root用户来对普通用户进行授权。
授权方法:
visudo ##编辑/etc/sudoers并提供语法检测
输入后,在文件的第100行左右:
username hostname=(newusername) [NOPASSWD:]/command,/command1
例:westos用户在linux.westos.com主机=(用超级用户身份) 执行useradd命令
westos linux.westos.com=(root) /usr/sbin/useradd