Linux用户与用户组基础用户和用户组的基本操作

相关的三个文件

1. 用户文件:/etc/passwd

root:x:0:0:root:/root:/bin/bash

用户名:x:uid:gid:描述:HOME:shell

1.用户名(不能相同)
2.口令位
3.uid(不同用户可以使用相同的uid)
4.gid(默认组是随用户创建的,并且组里只用这个用户自己)
5.描述信息(默认为空)
6.用户的家目录位置(默认在/home/用户名)
7.登录shell(默认/bin/bash)

关于UID

管理员 0,默认用户名称root
系统用户 RHEL5/6(老系统) 1-499          RHEL7(新系统) 1-999,特定服务的系统用户,特点权限比较小
普通用户 RHEL5/6(老系统) 1000-65535       RHEL7(新系统) 1000+

创建用户
没有指定任何选项:创建一个用户时,如果没有指定用户的主组,将会创建一个同名的组作为用户的主组

1607598002-2020-12-10_18-59-1

在Ubuntu环境下 如果不加  “-m” 参数,则不会创建对应的home目录文件

useradd 命令参考的文件
1. /etc/login.defs //定义在创建用户时候的初始设置,uid gid 是否家目录 邮箱位置等
2. /etc/default/useradd //系统默认用户创建配置,可以修改家目录的位置,可以使用命令 useradd -D查看
3. /etc/skel/* //用户的初始配置文件,.bashrc .bash_profil .bash_logout

.bash_history 保存用户执行的历史命令,当用户退出时写入该文件.
.bash_logout 保存当用户退出时,执行的命令
.bashrc 保存用户定义的别名和函数
.bash_profile 保存用户搜索命令的路径

.bashrc shell级别环境配置文件
.bash_profile 登录级别环境配置文件
/etc/bashrc 全局shell级别环境配置文件
/etc/profile 全局登录级别环境配置文件

加载顺序
[root@xiaochen robin]# su – alice
/etc/profile
.bash_profile
.bashrc
/etc/bashrc

查看用户

[root@test ~]# id user10
uid=506(user10) gid=510(user10) groups=510(user10)

查看用户主目录权限

[root@test ~]# ll -d /home/user10/
drwx—— 3 user10 user10 4096 09-01 21:14 /home/user10/ //HOME目录
[root@test ~]# ll /var/spool/mail/user10 //用户mail spool
-rw-rw—- 1 user10 mail 0 09-01 21:14 /var/spool/mail/user10

删除用户

[root@test ~]# userdel user10 //删除用户user10,但不删除用户家目录和mail spool
[root@test ~]# ll -d /home/user10/
drwx—— 3 506 510 4096 09-01 21:14 /home/user10/
[root@test ~]# ll /var/spool/mail/user10
-rw-rw—- 1 user10 mail 0 09-01 21:14 /var/spool/mail/user10

userdel: 
用法:userdel [选项] 登录名

选项:
-f, –force 即使不属于此用户,也强制删除文件
-h, –help 显示此帮助信息并退出
-r, –remove 删除主目录和信件池
-R, –root CHROOT_DIR chroot 到的目录
-P, –prefix PREFIX_DIR prefix directory where are located the /etc/* files
–extrausers Use the extra users database
-Z, –selinux-user 为用户删除所有的 SELinux 用户映射

删除用户及主目录

[root@test ~]# userdel -r user11
[root@test ~]# ll /home/user11
ls: /home/user11: 没有那个文件或目录

创建用户时指定选项

# useradd user01
# useradd user02 -u 503 //创建用户usr02,指定uid,上限65535
# useradd user03 -d /aaa //创建用户user03 指定家目录
# useradd user04 -M //创建用户user04,不创建家目录,并非不在passwd中设置
# useradd user05 -s /sbin/nologin //创建用户并指定shell
# useradd user06 -g hr //创建用户,指定主组,尽量不要制定主组,指定附加组
# useradd user07 -G sale //创建用户,指定附加组
# useradd user08 -e 2014-04-01 //指定过期时间
# useradd user10 -u 4000 -s /sbin/nologin

修改用户的信息

[root@station230 ~]# usermod –help //尽量用命令修改,少去手动修改配置文件
[root@station230 ~]# useradd user10
[root@station230 ~]# grep ‘user10’ /etc/passwd
user10:x:509:509::/home/user10:/bin/bash
[root@station230 ~]# usermod -u 2000 user10 //修改用户uid
[root@station230 ~]# usermod -s /sbin/nologin user10 //修改用户shell
[root@station230 ~]# usermod -e 2013-02-11 user1000 //设置账号过期

 

修改家目录:

方法1:
# usermod -d /tmp/jack jack
# mv /home/jack/ /tmp/
方法2:
# usermod -m -d /home/jack jack

密码锁定与解锁

usermod -U username //解除锁定
usermod -L username //锁定用户
passwd -l username //锁定用户
passwd -u username //解除锁定
passwd -d username //清除密码
passwd -S username //查看用户状态

手工创建用户:

目的:便于理解用户的管理机制
1)添加用户/etc/passwd的相关内容
2)创建passwd中指定的用户家目录,并且修改家目录所有者(命令: chown 用户名 家目录)
3) 添加用户/etc/shadow的相关内容
4) 拷贝用户配置文件模板(命令: cp -rf /etc/skel/.[!.]* ~/)
5) 登录测试(命令: su – 用户名)

2. 口令加密文件: /etc/shadow

root: $ 1 $ MYG2NDG6 $ a1wtyr5GDM2esAPjug0YP0 :15636:0:99999:7:::
1.用户名
2.密码($加密算法$杂字串$密文)查看算法 man crypt
3.上次修改时间
4.最小间隔
5.最大间隔
6.密码过期前警告时间(默认是7天,在这期间可使用就旧密码)
7.缓冲时间(密码过期后预留给账户修改密码的时间)
8.失效时间
9.保留列

设置密码:
方法一:交互设置密码:
#passwd 用户名
方法二:非交互设置密码:
#echo “明文密码”|passwd 用户名 –stdin

# chage -d 0 username //强制用户在下一次登录时修改密码

3. 用户组文件:/etc/group

root:x:0:

1.组名
2.组密码占位符
3.gid
4.[用户列表]

用户组分类:

1.主组(在/etc/passwd里面第4个字段上)
2.从组(附加组)
约定:一个用户只能属于一个主组(默认跟随用户自动创建出来的那个组),可以属于多个附加组

 

# groupadd hr
# groupadd sale
# groupadd it
# groupadd net01 -g 2000 //添加组net01,并指定gid 2000
# groupdel net01 //删除组net01
# grep ‘net01’ /etc/group //查看/etc/group中组net01信息

组成员管理

注意:gpasswd将用户添加到组或从组中删除,只针对已存在的用户
[root@station230 ~]# gpasswd it //设置组密码
[root@station230 ~]# gpasswd -a user07 it //将某个用户加入到某个组
[root@station230 ~]# gpasswd -M user02,user03,us目的:便于理解用户的管理机制
1)添加用户/etc/passwd的相关内容
2)创建passwd中指定的用户家目录,并且修改家目录所有者(命令: chown 用户名 家目录)
3) 添加用户/etc/shadow的相关内容
4) 拷贝用户配置文件模板(命令: cp -rf /etc/skel/.[!.]* ~/)
5) 登录测试(命令: su – 用户名)er04 it //将多个用户加入到it组
[root@station230 ~]# grep ‘it’ /etc/group //查看it组中的成员
it:x:505:user02,user03,user04
[root@station230 ~]# gpasswd -d user07 it //删除用户usr07从it组

 

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容