Linux 用户的管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 用户的管理相关的知识,希望对你有一定的参考价值。
1.系统中为什么要有用户?
用户使用来进行安全设定(限制权力),组是用来共享权力,通过建立用户组,或者控制新建用户所在的用户组,可以控制用户访问系统的权限。这就是linux中用户组的意义和价值。
附加组:可以决定权限,不一定有附加组;
初始组:无法决定权限,一定有,不能更改。
用户在系统当中以表格和表格中的一系列字符出现的。
举例:你的杯子你可以用,你的女票也可以,但是外人用就不行,因为你有使用你杯子的权力,可是别人没有。
2.用户存在的形态
组:共享权力
举例:
(1)自己能决定的组:附加组(如:你认了马云当干爹,从此走上人生巅峰,这个你可以决定,你当然也可以认好多干爹,嘿嘿)
(2)自己不能决定的组:初始组(如:干爹可以认,但是你的亲生父母是谁你不能决定,不能改变)
3.用户配置文件
/etc/passwd 用户信息文件
用户名称:密码:用户id(唯一的×××号):组id:用户说明:用户家目录(用户出现的默认地址):用户默认使用的shell
/etc/group 用户组信息
组名称:组密码(一般以x表示):组id附加组成员
/home/username 用户家目录
/etc/skel.* 用户骨文件(用户环境配置模板,在用户建立时会自动被复制到家目录中)
4.用户的查看
whoami 查看当前用户的名称
id username 查看用户的id信息
id -u username 查看用户的id
id -g username 查看用户的组id
id -G username 查看用户所在的所有组的id
id -n username 以名称显示信息
如下图:
5.用户的建立与删除
/etc/login.defs 在此
watch -n 1每秒钟显示一次
监控命令:
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;echo===;ls -l /home/‘ 用来展示用户的各项参数,直观
userdel username (root)表示删除用户的身份,但其配置文件保留
userdel -r username (root)表示删除用户身份及系统配置文件;(一步删除到为)
useradd username 使用默认规则建立用户(规则参看/etc/login.defs)
useradd -u 指定用户的uid
useradd -g 指定用户的初始组id
useradd -G 指定用户的附加组
useradd -c 指定用户的说明文字
useradd -d 指定用户的家目录
useradd -s 指定用户的shll(系统可以用shell可在/etc/shells中查看) cat /etc/shells 显示电脑中的所有shell
groupadd groupname 建立组
groupadd -g groupname建立指定组id
groupdel groupname 删除组
man useradd 查看useradd手册(q退出界面)
6.用户的管理
改变用户的信息
usermod -l linux westos 修改用户名称改成linux
usermod -u 666 username(westos) 指定uid,但是只能指定指定组拥有的uid
usermod -g 21 westos 修改初始组id
usermod -G 25 westos 修改附加组,清除原来的
usermod -aG 25 westos 再加一个附加组
usermod -c (比如 test)westos 更改用户说明
usermod -d (比如/home/linux)westos 更改加用户目录指向
home下并没有一个linux的目录
usermod -md (比如 /hoem/lee) westos 更改加用户目录指向,并重命名家目录
**出现一个目录名的变化,出现lee的目录
usermod -s (比如 /bin/tcsh) westos 更改用户的shell
7.用户切换
su - westos 切换用户到westos,高级用户切换到低级用户,不需要密码;低级用户切换到高级用户或切换到平级用户需要后者密码。
注意:(很重要)
1.用户切换后及时退出再进入下一个用户(exit)
2.su - 表示切换用户身份及用户环境 一定要加“-”
(如果不加-,只是身份改变。环境并没有变化)
8.用户的认证信息
/etc/shadow 记录用户密码,只有超级用户可以访问
用户名称:
用户密码:
md5 sha512加密对称加密(加密和解密使用同一种字符) 在vim /etc/login.defs里边查询
passwd username 只有超级用户执行
passwd 普通用户修改密码
usermod -L username 冻结密码
usermod -U username 解锁
![]
passwd -l username 冻结密码
passwd -u username 解锁
passwd -d username 清空密码
密码最后一次被修改的时间:
当此位数字为0时,用户在登陆系统时,会被强制改密码
chage -d 0 westos
passwd -e westos
密码最短有效期:
chage -m 1 westos
passwd -n 3 westos
密码的最长有效期:
chage -M 30 westos
passwd -x 40 westos
密码过期警告:
chage -W 2 westos 警告
passwd -w 3 westoe
密码非活跃期:
chage -I 2 westos
passwd -i 0 westos
帐号到期日:
chage -E “2018-11-11” westos
未设定用户自定义
9.用户权力的下放
普通用户默认不能新建用户
vim /etc/sudoers
1.配置文件
etc/sudoers
2.配置命令
visudo
用户名称 主集名称=(执行程序身份)命令 当执行命令时需要用户验证
在:100,找到100行,按大写i,在前面输入下面命令,!!!!注意,使用hostname查看本机地址对 dns-server.example.com修改(linux11) dns-server.example.com=(root) /usr/sbin/usradd
用户名称 主集名称=(执行程序身份)NOPASSWD :命令1, 命令2 ## 当执行命令时不需要用户验证
(linux11) dns-server.example.com=(root) /usr/sbin/useradd, /usr/sbin/userdel
然后Esc,:wq!,切出
最后可以visudo查看,上图 dns-server.example.com改成了localhost,user改成usr,这些都是易错点!!!!最后useradd linux11,建立。
测试:
su - linux11
sudo useradd hello
以上是关于Linux 用户的管理的主要内容,如果未能解决你的问题,请参考以下文章