用户与用户组管理学习笔记

一、创建用户:

①基本语法:

useradd [选项] 用户名

常用选项:

-u 指定uid,唯一标识

-g 指定主组

-G 指定附加组

-d 指定用户的家目录(默认在/home下创建)

注意:指定家目录时,家目录的上级目录必须存在

-s 指定用户默认shell(/bin/sh(软链接) ==> /bin/bash(默认) , /sbin/nologin:不能本地登陆)

②验证

id 用户名:查看用户信息

[root@localhost /]# useradd stu1
[root@localhost /]# id stu1
uid=1001(stu1) gid=1001(stu1) 组=1001(stu1)
[root@localhost /]# tail -3 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
tom:x:1000:1000:tom:/home/tom:/bin/bash
stu1:x:1001:1001::/home/stu1:/bin/bash
七列:
用户名:密码占位符:用户id:用户主组id:注释:用户家目录:用户使用的shell编辑器
[root@localhost /]# tail -3 /etc/shadow
tcpdump:!!:18329::::::
tom:$6$YSwlQKVW7cJZccgB$iexoOMRAiNpukg3goSYNoOartc1sYk3A5XTPmmQMGYFIq4G2IUKi7TBe.i1b.gp1AYQNjKYgkA.zYBOkXOxh5/::0:99999:7:::
stu1:!!:18329:0:99999:7:::
第一列,用户名
第二列,加密后的密码
第三列,表示上一次修改密码的时间18329:距离linux元年(1970.1.1)的天数
第四列,表示两次密码修改最小间隔时间(天),0表示可以立可修改密码
第五列,表示密码的最大有效期(单位:天)
第六列,表示提前多少天通知密码失效
第七列,密码宽限期
第八列,密码失效时间
第九列,保留
[root@localhost /]#

③扩展

chage

-d 修改用户最后一次更新密码时间

-m 修改密码的最小存活期(几天后可以修改密码)

-M 修改密码的最大存活期(每隔多少天可以修改密码)

-W 修改密码过期前几天发出警告

-I 修改允许密码过期几天

-E 修改账户过期时间

-l 列出账户的信息

[root@localhost /]# chage -l stu1
最近一次密码修改时间                                    :3月 08, 2020
密码过期时间                                    :从不
密码失效时间                                    :从不
帐户过期时间                                            :从不
两次改变密码之间相距的最小天数          :0
两次改变密码之间相距的最大天数          :99999
在密码过期之前警告的天数        :7
[root@localhost /]# chage -E '2020-03-10' stu1
[root@localhost /]# chage -l stu1
最近一次密码修改时间                                    :3月 08, 2020
密码过期时间                                    :从不
密码失效时间                                    :从不
帐户过期时间                                            :3月 10, 2020
两次改变密码之间相距的最小天数          :0
两次改变密码之间相距的最大天数          :99999
在密码过期之前警告的天数        :7

二、设置密码

root :a. passwd 用户名

        b. echo 密码 | passwd 用户名 --stdin / echo 密码 | passwd --stdin 用户名 (非交互式)

passwd 直接回车表示修改当前用户的密码

三、修改用户信息

①语法:

usermod [选项] 用户名

常用选项:

-u 指定用户uid,唯一标识,必须唯一

-g 指定用户的主组

-G 指定用户的附加组

删除附加组:
gpasswd -d 用户名 附加组名

添加多个附加组:
usermod -aG 附加组名 用户名

-d 指定用户的家目录

注意:修改用户家目录时,新的家目录必须全部存在

-s 指定用户默认的shell

-L 锁定用户,锁定后该用户无法登录系统

-U 解除锁定

②案例:

a.修改用户uid
[root@localhost chome]# id user1
uid=1002(user1) gid=1002(user1) 组=1002(user1)
[root@localhost chome]# usermod -u 1111 user1
[root@localhost chome]# id user1
uid=1111(user1) gid=1002(user1) 组=1002(user1)


b.修改用户的家目录
[root@localhost chome]# mkdir -p /chome/redhat/user1
[root@localhost chome]# su - user1
上一次登录:一 3月  9 09:59:07 CST 2020pts/0 上
[user1@localhost ~]$ pwd
/chome/user1
[user1@localhost ~]$ exit
登出
[root@localhost chome]# usermod -d /chome/redhat/user1 user1
[root@localhost chome]# su - user1
上一次登录:一 3月  9 10:46:36 CST 2020pts/0 上
###出现该现象
-bash-4.2$ pwd
/chome/redhat/user1
-bash-4.2$ exit
登出
###解决办法
[root@localhost chome]# cp -a /etc/skel/. /chome/redhat/user1/
[root@localhost chome]# su - user1
上一次登录:一 3月  9 10:47:17 CST 2020pts/0 上
[user1@localhost ~]$ pwd
/chome/redhat/user1
[root@localhost chome]# ls -a /etc/skel/
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla
[root@localhost chome]#

-----------
修改用户家目录
usermod -md 新目录 用户名


c.修改用户的附加组
[root@localhost chome]# head -1 /etc/group
root:x:0:
[root@localhost chome]# usermod -G 0 stu1
[root@localhost chome]# head -1 /etc/group
root:x:0:stu1


d.修改用户的shell
[root@localhost /]# useradd -s /sbin/nologin stu2
[root@localhost /]# su - stu2
This account is currently not available.
[root@localhost /]# usermod -s /bin/bash stu2
[root@localhost /]# su -stu2
上一次登录:一 3月  9 11:16:53 CST 2020pts/0 上
[stu2@localhost ~]$ exit
登出

四、删除用户

语法:

userdel [选项] 用户名

常用选项:

-r 删除用户的同时删除用户家目录和邮箱(/var/spool/mail)

-f 强制删除正在登录的用户

五、组

①创建组

groupadd [选项] 组名

常用选项:

-g 指定组id,唯一

[root@localhost /]# groupadd admin
[root@localhost /]# tail -1 /etc/group
admin:x:1002:

admin    :  x        : 1002       :
组名		 密码占位符	 组id		用户列表

[root@localhost /]# groupadd -g 1234 system
[root@localhost /]# tail -1 /etc/group
system:x:1234:

②删除组

groupdel 组名

注意:该组若是某用户的主组,不能删除。若仅是附加组,可以删除

③组成员管理

gpasswd [选项] 用户名 组名(附加组)

常见选项:

-a 添加用户到组(表示追加)

-d 从组中删除成员

-A 指定管理员

-M 指定组成员(多个成员逗号分开。覆盖操作)

-r 删除密码

gpasswd 组名 ==> 给组设置密码

上一篇:使用Python连接Mongodb,对数据库进行操作


下一篇:SQL Server的权限模型