Linux用户管理
用户的3A机制
- Accouting #审计
- Authentication #认证
- Authorization #授权
用户查看
- whoami #会显示当前用户的用户的名称
- id #查看用户的id信息
- id -u #查看用户id
- id -g #查看用户的主组id
- id -G #查看用的所有组id
- id -n参数 #查看用户的名称
用户切换
- su username #只是切换到用户,本身的环境没有改变
- su - username #切换到用户,本身环境也切换到目标位置
##注意:1.切换到一个用户后,如果再想切换到另一个用户需要及时退出当前用户(logout),否则会导致shell运行混乱。2.超级用户切换到普通用户是不需要密码的,而从普通用户切换到另一个普通用户是需要密码的。
用户涉及到的配置文件
- /etc/passwd #用户身份信息文件
#用户名称:用户秘密:用户id:用户组id:用户说明:用户家目录:用户默认shell存在的目录 - /etc/group #用户组身份信息文件
#用户组名称:组密码:组id:以当前组为附加组的用户组名称和id - /etc/shadwo #用户认证信息文件
#用户名称:用户密码:最后一次修改密码的时间:密码最小使用期限(为0表示可以 随时更改):密码最大使用期限:密码过期前几天提醒用户的时间:密码到期后还可以使用几天:账户失效时间:预留 - /etc/skel/*. #用户环境配置模板
用户和用户组创建和删除
## 可以通过命令 watch -n 1 “tail -n 4 /etc/passwd /etc/group ; ls -l /home” 来监控用户被添加和删除信息
- useradd username #创建一个普通用户默认用户id和用户组id为1000
- useradd -u id username #添加用户时配置用户id
- useradd -g id username #添加用户时配置用户的主组id(添加的id必须在/etc/group中存在)
- useradd -G “组名称或者数字” username #添加用户时配置用户的附属组id(添加的id必须在/etc/group中存在,可以添加多个,之间用,隔开)
- useradd -c “用户说明” username #添加用户时配置用户说明
- useradd -d 路径 username #添加用户时配置用户的家目录
- useradd -s 路径 username #添加用户时配置用户的shell
- groupadd -g 组号 组名 #添加组时配置id
- groupdel 组名 #删除组
- ueserdel -r username #删除用户
用户和用户组信息管理
- usermod -l 新的用户名称 旧的用户名称 #更改用户名称
- usermod -u id uesrname #更改用户的用户id
- usermod -g username #更改用户的主组id
- usermod -G username #更改用户的附属组id(修改原附属组id)
- usermode -aG username #更改用户的附属组id(是添加到所有附属组里面,没有修改原附属组的id)
- uesermod -d username #只是更改用户的家目录的获取路径,不会修改用户家目录的名称
- usermod -md username #更改用户的家目录的获取路径并且修改家目录的名称
- usermod -s username #更改用户的默认shell
- groupmod -g 组名 #更改用户组的id
用户认证信息管理
##用命令 watch -n 1 tail /etc/shadow 监控文件发生的变化
-
passwd -S username #查看密码状态
-
passwd username #更改用户的密码(超级用户可以直接修改普通用户密码,而且修改的密码没有字符的限制,普通用户在修改密码时,需要输入旧密码验证,而且修改的密码会有字符的要求)
-
passwd -l username #冻结账号认证
-
passwd -u username #解锁账户认证
##也可以通过 passwd 命令修改被锁住用户的密码,来达到解冻的目的。 -
usermod -L username #冻结账户认证
-
usermod -U username #解锁账户认证
##注:usermod -L 是冻结的账户,passwd -l 冻结的是密码 -
passwd -e username#将密码最后一次被更改的时间变成0(意思是下一次登录账户时需要修改密码)
-
chage -d 数字 username #修改用户最后一次修改密码的时间(可以修改到任意时间)
-
passwd -n 数字 username #修改用户密码最少使用期限
-
chage -m 数字 username #修改用户密码最少使用期限
-
passwd -x 数字 username #修改用户密码最大使用期限
-
chage -M 数字 username #修改用户密码最大使用期限
-
passwd -w 数字 username #修改用户密码过期前多少天提醒的时间
-
chage -W 数字 username #修改用户密码过期前多少天提醒的时间
-
passwd -i 数字 uesrname #修改用户密码过期后还可以使用的时间
-
chage -I 数字 username #修改用户密码过期后还可以使用的时间
-
chage -E 数字 username #修改用户账号过期时间
下放权限给普通用户
-
hostname查看自己主机名
-
用which 命令 查看添加的命令在系统的具体位置
-
visudo(退出保存时可以辅助查看语法是否正确)vim /etc/sudoers 来编辑添加命令的语法
-
一般在文件的100行左右,编辑语法,语法:用户 hostname=(root) NOPASSWD:命令所在系统的具体位置1 (如果要添加多个命令可以用","隔开 )
-
切换到普通用户执行命令时,需要用sudo 命令 来调用命令