用户和用户组相关命令
目录
Linux系统用户账号的管理
- 用户和用户组
每一个File,dir : 都有一个拥有者,拥有组,其他人 ----->不同的用户或者用户组对特定文件的操作有限制。
processes : 对于一个进程就有一个进程的执行者。
进程要访问文件,取决于进程的执行者对文件的权限。
- 用户的分类
- 特权用户root UID=0
- 系统用户 UID=0~999
- 普通用户 UID=1000~65535
(创建一个用户时会产生一个与UID相同的组)
- 用户名和用户组存在的文件
用户名 : /etc/passwd
用户组: /etc/group
用户组的分类1 : 基本组:就是在创建一个用户时候仅存在自己的用户组中
附加组:创建的用户组中还有别的用户就是附加组
用户组的分类2 私有组:和基本组的概念相同
公共组:和附加组的概念相同
创建一个用户,系统上修改了那些文件?
- 影子口令套组:(/passwd /shadow 每个字段)
(1)/etc/paaswd
test03 :x:1002:1002:Test of file:/home/test03:/bin/bash
用户名 密码 UID GID 描述 家目录 bash类型
(2)/etc/group
test03:x:1002:
组名 密码 GIU
(3)/etc/shadow
test03:$6$RoRwZNn2dl9KSi8u$F4IbPu9ag1/gjyyRWVtk8nNMKvIQYrCEZMKkbFjUI8Iasidos/mSx6sNSLEhobD1lqzL5vW2hSdNeDi3ssk4y.:18468:0:99999:7::: 用:作为分隔
- 表示用户名
- 加密后的密码
- 最后一次修改密码时间距离计算机元年1970 1.1的时间戳
- 密码保留的最小日期(也就是密码几天后可以进行修改 0表示现在就可以修改 1表示一天后可以修改)
- 密码的有效期(也就是有效期限如果过期后将不能登录)
-
密码过期前多少天警告
-
密码过期后几天依然可以登陆,但是会提醒
8.禁用 1970 1.1
9.预留
(4)/etc/gshadow
test03:!::
扩展:
[[email protected] mail]# vipw ----- /etc/paaswd
[[email protected] mail]# vipw -s ------ /etc/shadow
[[email protected] mail]# vigr ----- /etc/group
[[email protected] mail]# vigr -s ------ /etc/gshadow
- 创建一个家目录 /home/test03;
拷贝默认的用户登录登出的初始化文件;
/etc/skel/ ----> /home/test03
- 创建一个mail文件
/var/spool/mail
- 用户与用户组的管理命令
用户组相关命令:
增:
groupadd groupname 创建默认组
groupadd -g 5008 group2 指定gid创建组
groupadd -r group3 创建一个系统用户(uid 0-999)
改:
[[email protected] mail]# groupmod -g 2009 group4 将group4的gid该为2009
[[email protected] mail]# groupmod -n newgroup4 group4 改组名把group4改成newgroup4
查:
[[email protected] mail]# cat /etc/group 查看用户组
[[email protected] mail]# vigr 查看用户组
删:
[[email protected] mail]# groupdel newgroup4 删除用户组
实例:
1.创建一个默认组
2.指定UID创建组
3.创建系统组
4.把vvv的UID改变为800
5.把vvv的名字变成rrr
6.删除vvv用户组
用户相关命令:
增:
useradd -u 6663 -G group1,group2 -c "Test of L2020" -d /usr/local/test07 test07
useradd -s /bash/nologin test08
改:
usermod -u 2003 anliu
groupadd -g 2003 anliu
usermod -g 2003 test
usermod -G group1 test08 #添加附加组(覆盖)
usermod -aG anliu test08 #追加附加组
usermod -md /home/xuankui test06 #修改家目录
passwd -l test03 #锁定密码
passwd -u test03
usermod -L test03
usermod -U test03
删:
[[email protected] mail]# userdel test08 #删除的配置文件,家目录以及mail文件没有被删除
[[email protected] mail]# userdel -r test08 #完整删除
查:
[[email protected] mail]# cat /etc/passwd
[[email protected] mail]# vipw -s
实例:
1.按照指定条件创建用户textll。
useradd -u 10031-G hhh -c " this is a..." -d /user/local/textlk textlk
2.将textlk的uid改为10032
usermod -u 10032 textlk
3.userdel textlk
4.把用户hhh1加到组jjj中
5.把用户hhh1加到组hhh2中 -aG可以在吧hhh1加到新组的同事旧组的hhh1会备份下来
6.把jjj的家目录修改为/home/jizhe
7.passwd -l和passwd -u锁密码
8.删除用户jjj
- 创建用户的默认属性[[email protected] ~]# vim /etc/login.defs
-
用户管理的工具箱:
[[email protected] ~]# cat /usr/local/sbin/MyBoxUser
#!/bin/bash
while true
do
cat << EOF
#########################################
# 1.锁定账号 #
# 2.解锁账号 #
# 3.清除密码 #
# 4.退出 #
#########################################
EOFread -p "请输入要执行操作的菜单号:" num
case $num in
1)
read -p "请输入您要锁定的账号:" lockuser
passwd -l $lockuser
;;
2)
read -p "请输入您要解锁的账号:" unlockuser
passwd -u $unlockuser
;;
3)
read -p "请输入您要清除密码的账号:" cleanpass
passwd -d $cleanpass
;;
4)
exit
;;
*)
echo "请输入 123 !"
esacdone
#if [ $num -eq 1 ]
#then
#read -p "请输入您要锁定的账号:" lockuser
#passwd -l $lockuser
#elif [ $num -eq 2 ]
#then
#read -p "请输入您要解锁的账号:" unlockuser
#passwd -u $unlockuser
#elif [ $num -eq 3 ]
#then
#read -p "请输入您要清除密码的账号:" cleanpass
#passwd -d $cleanpass
#else
#echo "请输入 123 !"
#fichmod +x filename
将定义好的工具箱脚本实现在任意路径下执行的方法:
(1)mv filename $PATH
mv toolbox.sh /usr/local/sbin/
(2)配置环境变量目录:
vim /etc/profile
PATH=$PATH:/opt/script(3)定义别名
[[email protected] ~]# alias MyBoxManage="/opt/script/MyBoxManage"
vim ~/.bashrc
alias MyBoxManage="/opt/script/MyBoxManage"