1.系统中为什么要有用户
用户:是安全的设定,是权力的限制,想要使用操作系统的某些功能就必须称为操作系统的用户,不同的用户有不同的管理权限。
组:是共享权力赋予权力两个信息,能决定附加组,不能决定初始组。
初始组:每个用户在创建的时候就具有的组
附加组:额外添加的组,独立于初始组
2.用户存在的形态
用户的存在形态就是一个表格和表格中调用的配置文件,系统通过表格中的信息来确定用户所具有的权限。
3.用户配置文件
/etc/passwd 用户信息文件
总共分为7列,每列都有其自己的代表含义,分别是:
用户名称 :密码 : 用户id :组id:用户说明:用户家目录:用户默认使用的shell
/elc/group 用户组信息
总共分为4列,分别是:
组名称 :组密码 :组id :附加的组成员
/home/username 用户家目录
/etc/skel.* 用户骨文件(用户环境配置模版,在用户建立时会自动被复制到家目录中)
vim .bash_logout 用户环境配置
4.用户的查看
whoami 查看当前用户的名称
id username 查看用户的id信息
-u username 查看用户的uid
-G username 查看用户的gid
-g username 查看用户所在的所有组的信息
-n username 以名称显示信息
5.用户的建立和删除
/etc/login.defs 再次文件中建立用户的默认信息
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home/' 显示用户实时变化
userdel username 删除用户身份
userdel -r username 删除用户身份及用户系统的配置文件
注释:如果忘记+r的话必须在家目录里面删除
useradd username 使用默认规则建立用户 (规则看/etc/login.defs)
useradd -u username 制定用户的uid
useradd -g username 制定用户的初始组 id
useradd -G username 指定用户的附加组
useradd -c username 制定用户的说明文字
useradd -d username 制定用户的家目录
useradd -s username 制定用户的shell(系统可以用shell)
groupadd groupname 建立组
groupadd -g groupname 建立指定组id
groupdel groupname 删除组
6.用户的管理
usermod user name
-l 用户名称
-u uid
-g 初始值id
-G 梗概附加值
-aG 增加附加值
-c 修改用户说明
-d 修改用户家目录
-md 修改家目录指向并修改目录本身的
-s 修改梗概用户的shell
7.用户的切换
su - username 切换用户,高级用户切换到低级用户不需要密码
低级用户切换切换到高级用户或者切换到评级用户需要后者密码
“注释”:
1.用户切换后及时推迟再切换到下一个用户
2.su - 表示切换用户身份及用户环境
8. 用户的认证信息
/etc/shadow 用户的认证信息
用户名称 :
用户密码:
md5 sha512 典型的对称加密
passwd username 普通用户修改用户
usermod -l 冻结帐号
usermod -u 解冻用户
passwd -l 冻结密码
passwd -u 解冻
passwd -d 晴空密码
注释:密码最后一次被修改的时间:
当此末数字为0时,系统强制在启动时让你修改密码
change -d 0 westos
passwd -e westos
密码最短有效期:
change -m 1 westos
passwd -n 3 westos
密码的最长有效期:
chage -M 30 westos
passwd -x 40 westos
密码过期警告:
chage -W 2 westos
passwd -w e westos
密码非活跃期:
chage -I 2 westos
passwd -i 0 westos
帐号到期日:
chage -E "2018-11-11" westos
为设定用户自定义
9.用户权力的下放
重要***************
1. 配置文件
/etc /sudoers
2. 配置命令
visudo 此命令提供语法检测
用户名称 主集名称 = (执行程序身份) 命令 当执行命令时需要用户验证
linnux11 dns -server.example.com=(root) /usr/sbin/useradd
用户名称 主集名称 = (执行程序身份) NOPASSWD:命令1,命令2 当执行命令时不需要用户验证
linnux11 dns -server.example.com=(root) /usr/sbin/useradd, /usr/sbin/userdel
测试
su - linux
sudo useradd hello