用户组管理

用户组管理

 

 

 

1 用户管理命令

 

1 useradd   # 添加用户
2 userdel   # 删除用户
3 usermod   # 修改用户信息
​
# 创建用户
    [root@localhost ~]# useradd user1
 
# 查看用户
    [root@localhost ~]# id user1
    uid=1002(user1) gid=1003(user1) 组=1003(user1)
    
    [root@localhost ~]# who # 查看所有登录的⽤户信息
    
    [root@localhost ~]# whoami # 查看当前登录的⽤户名
    
'注意':
    当创建⼀个⽤户时,如果没有指定⽤户的主组,将会创建⼀个同名的组作为⽤户的主组
    
# 删除用户
​
    [root@localhost ~]# userdel user1 # 删除⽤户user1,但不删除⽤户家⽬录和mail
​
    [root@localhost ~]# userdel -r user1 # 要想删彻底,加-r选项

 

 

 

 

1.1 useradd命令

 

# 怎样在Linux系统中添加⼀个新的⽤户账户
​
1) 掌握useradd命令的功能:新增⼀个⽤户。
2) 了解useradd命令的常⽤选项:
3) –u:指定⽤户的UID
4) –g:指定⽤户所属的主群
   –G:指定⽤户所属的附加群
5) –d:指定⽤户的家⽬录
6) –c:指定⽤户的备注信息
7) –s:指定⽤户所⽤的shell
8) -e:修改过期时间
9) -M: 不创建家⽬录
10) -r: 创建系统账户,uid处于系统⽤户范围内,默认就没有家⽬录
​
#灵活应⽤useradd命令的举例:
​
a) 例如:在系统中新增⼀个fox(狐狸)⽤户的命令:useradd fox
b) 例如:在系统中新增⼀个⽤户user01,属组为police以及uid为600的命令:
useradd –u 600 –g police user01
​
====================================================================
​
# 其他练习
[root@root ~]# useradd user01 
[root@root ~]# useradd user02 -u 503             # 创建⽤户usr02,指定uid
[root@root ~]# useradd user03 -d /aaa            # 创建⽤户user03 指定家⽬录
[root@root ~]# useradd user04 -M                 # 创建⽤户user04,不创建家⽬录
[root@root ~]# useradd user05 -s /sbin/nologin   # 创建⽤户并指定shell
[root@root ~]# useradd user06 -g hr              # 创建⽤户,指定主组
[root@root ~]# useradd user07 -G sale            # 创建⽤户,指定附加组
[root@root ~]# useradd user08 -e 2014-04-01      # 指定过期时间
[root@root ~]# useradd user10 -u 4000 -s /sbin/nologin
[root@aliyum ~]# useradd xxx -M -s /sbin/nologin # 创建普通⽤户,但是没有家⽬录,不能登录系统
[root@aliyum ~]# useradd -r yyy -s /sbin/nologin # yyy属于系统⽤户,uid处于系统⽤户uid范围内

 

1.2 usermod命令

# 同useradd参数基⼀致,只不过useradd是添加,usermod是修改
​
-u      # 指定要修改⽤户的UID
-g      # 指定要修改⽤户基本组
-a      # 将⽤户添加到补充组。仅与-G选项⼀起使⽤
-G      # 指定要修改⽤户附加组,使⽤逗号隔开多个附加组, 覆盖原有的附加组
-d      # 指定要修改⽤户家⽬录
-c      # 指定要修改⽤户注释信息
-s      # 指定要修改⽤户的bash shell
[root@root ~]# usermod -e 2013-02-11 user1000 # 修改过期时间
[root@root ~]# usermod -g group1 jj # 修改主组
[root@root ~]# usermod -a -G group2 jj # 修改附加组,-a添加,不加-a代表覆盖
其他选项
-m      # 将⽤户主⽬录的内容移动到新位置。如果当前主⽬录不存在,则不会创建新的主⽬录
-l      # 指定要修改⽤户的登陆名
-L      # 指定要锁定的⽤户
-U      # 指定要解锁的⽤户

 

 

 

 

1.3 设定与修改密码

passwd          # 默认给当前⽤户设定密码
passwd ⽤户名    # root⽤户可以给⾃⼰以及所有其他⽤户设定密码,普通⽤户只能设定⾃⼰的密码
echo "密码" | passwd --stdin ⽤户名 # ⾮交互式
# 补充:可以利⽤系统内置变量⽣成随机字符串来充当密码
[root@aliyum ~] # echo $RANDOM|md5sum|cut -c 1-10
70ba11a74b

 

2 组管理

 

1 创建组:groupadd
2 修改组:groupmod
3 删除组:groupdel

 

2.1 groupadd命令

[root@aliyum ~]     # groupadd gg1 #创建基本组, 不指定gid
[root@aliyum ~]     # tail -1 /etc/group
gg1:x:2005:
[root@aliyum ~]     # groupadd -g 5555 gg2 #创建基本组, 指定gid为5555
[root@aliyum ~]     # tail -1 /etc/group
gg2:x:5555:
[root@aliyum ~]     # groupadd -r gg3 # 创建系统组,gid从201-999
[root@aliyum ~]     # tail -1 /etc/group
gg3:x:991:

 

 

2.2 groupmod命令

[root@aliyum ~]     # groupmod -g 1111 gg3
[root@aliyum ~]     # tail -1 /etc/group
gg3:x:1111:
[root@aliyum ~]     # groupmod -n new_gg3 gg3 # -n 修改组名称
[root@aliyum ~]     # tail -1 /etc/group
new_gg3:x:1111:

 


 

2.3 groupdel命令

# 如果⼀个组是⼀个⽤户的主组,那么该组不能被删除,删掉⽤户会默认⼀起删掉他的主组
[root@aliyum ~]     # useradd egon1
[root@aliyum ~]     # groupadd devops
[root@aliyum ~]     # usermod -G devops egon1
[root@aliyum ~]     # id egon1
uid=2004(egon1) gid=2004(egon1) groups=2004(egon1),5556(devops)
[root@aliyum ~]     # groupdel devops # 附加组可以删除
[root@aliyum ~]     # id egon1 # 查看⽤户,发现他的附加组没有了
uid=2004(egon1) gid=2004(egon1) groups=2004(egon1)
[root@aliyum ~]     # groupdel egon1 # ⽆法删除组egon1,因为组egon1属于egon1⽤户的主组
groupdel: cannot remove the primary group of user 'egon1'

 


 

 

 

总结

 

# 权限管理与用户组管理

RBAC 权限管理

可读权限组    可写权限组    可执行权限组

# id 获取当前用户的信息

# whoami 获取当前用户

ps:用户uid小于1000的是系统用户
    用户uid大于等于1000的是普通用户
    
创建用户:useradd
删除用户:userdel
修改用户:usermod
修改密码:passwd
创建组:groupadd
修改组:groupmod
删除组:groupdel

/etc/passwd        用户配置文件
/etc/shadow        用户的密码文件
/etc/group        用户组
/etc/gshadow    用户组密码文件

# 手动创建用户

1、创建用户组:/etc/group
2、创建用户组密码文件:/etc/gshadow
3、创建用户:/etc/passwd
4、创建用户密码:/etc/shadow
5、创建家目录
6、修改权限,复制隐藏文件

# 权限

    自己    自己组     其他
    rwx      rwx    rwx
    421   421   421
    
    # 用户组可以关联多个用户
    
文件默认初始:666    # 偶数位直接相减,奇数位相减后加1

目录默认初始:777    # 直接相减即可

root :umask 022     文件:644 目录:755
user1:umask 002     文件:422 目录:422