已经开始接触Linux用户管理,用户组管理,以及权限管理这几个逼格满满的关键字。这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时候看到这些名词总是下意识的跳过不敢看有木有,一提起这几个名词马上脑海中总是升腾起无限的崇拜有木有!今天就硬着头皮捯饬捯饬这几个概念,希望能有所收获。
1.用户管理
用户所在的默认目录(Home\st)
用户是操作者在系统中的身份,是系统最低层的安全机制的一部分,用户在系统中以字符和文件的形式存在
系统中为什么要有用户
安全设定,让特定人有特定的权力(限制权力)
为什么要有组
为了共享权力
你能决定的叫附加组
不能决定的是初始组
2.用户存在形态
用户是在系统中以表格和表格中的一系列字符出现的
3.用户配置文件
/etc/passwd 用户信息文件
用户名称:密码:用户id:组id.: 用户说明:用户之家目录:用户默认使用的shell
/etc/group
组名称:组密码:组id:附加组成员
/home/username 用户之家目录
/etc/skel.* 用户的骨文件(用户环境配置末班,在用户建立时会自动复制到家里目录来)
4.用户的查看
whoami 查看当前用户的名称
id username 查看用户的信息
-u username 查看用户的uid
-g username 查看用户的组id
-G username 查看用户所在的所有组的id
-n username 以名称显示信息
5用户的建立及删除
useradd usename 使用默认规则建立用户
录下有那些)
useradd -u usename 指定用户uid
-g 用户的初始组id
-G 指定用户的附加组
-c id 指定用户的说明文字
-d 指定用户的家目录
-s 指定用户的shell(系统可以用shell可在/etc/shells中查看)
userdel username 删除用户
-r 删除用户身份以及用户系统的配置文件
userdel -fr /home/student(用户删除失误的时候使用,删除掉遗留文件)
(linux用户已经被删除了)
groupadd groupname 建立组
groupadd -g groupname 建立组指定id
groupdel groupname 删除组(原来的xlhxlh组已经被删除)
man useradd(用户手册)
kill -9 序号 强制结束该进程
6.用户的管理
usermod username
-l 用户名称
-u uid
-g 初始组id
-G 更改附加组
-aG 增加附加组
-c 更改用户说明
-d 更改用户家目录指向
-md 更改用户家目录指向并重命名家目录
-s 更改用户的shell
改名
usermod -l xlhxlh wangbin 用户名从wangbin该为xlhxlh
usermod -u 666 westos 修改用户的uid
usermod -G 27 westos -G表示修改原来附加组的身份
usermod -G "" westos 删除所有的附加组
7.用户切换
su - username 切换用户,高级用户切换到第几用户不需要密码
低级用户切换到高级用户或者切换到平级用户需要后者密码
"注意"
1.用户在切换之后需要及时退出才能切换到下一个用户
2.su - 表示切换用户身份及用户环境
若是不加 - 表示身份变了,但是环境还是原来的环境
8.用户的认证信息
/etc/shadow 用户的认证信息
passwd username 修改密码(只有超级用户执行)
不在root权限下修改密码需要原有的密码
(在普通用户权限下)
usermol -l 冻结帐号
usermol -u 解冻
(在root权限下使用)
passwd -l 冻结
passwd -u 解冻
passwd -d 清空密码
密码最后一次被修改时间: (当此位数字为0的时候用户登陆的时候被强制该密码 chage -d westos passwd -e westos)
密码最短有效期:(即是该密码过多久可以修改)
()root) chage -m 1 westos
()普通) passwd -n 3 westos
密码最长有效期:(过了该时间代表密码失效)
(root) chage -M 30 westos
(普通) chage -x 40 westos
密码过期警告:
(root) chage -W 2 westos
(普通) passwd -w 3 linux
密码非活跃期:
(root) chage -I 2 westos
(普通) passwd -i 0 westos
帐号到期日:
(root) chage -E "2018.11.18"
9.用户权力下放
(让普通用户拥有和root一样的权限)
1.配置文件
/etc/sudoers
2.配置命令
visudo 此命令
输入 visudo /etc/sudoers后 进入了配置文件页面(往里面写命令为普通用户添加权限)
##Allow username to run useradd (注释)
用户名称 主机名称=(执行程序身份) 命令 ##当执行命令时,需要用户验证
username localhost =(root) /usr/sbin/useradd
加入该命令后,让制定的用户拥有用户添加权限
这里我定义的是xlhxlh用户,所以切换到xlhxlh用户
执行命令:sudo useradd linuxx
(在执行一条命令前加上sudo即借用其他用户(sudo用户)的身份来执行该条命令
一般来说,刚配置好的linux系统,sudo预设的身份都是root用户)
(可以继续为其添加userdel权限)
用户名称 主机名称=(执行程序身份) 命令 ##当执行命令时,需要用户验证
linux11localhost=(root) /usr/sbin/useradd,/usr/sbin/userdel