每天一点Linux-06用户管理
用户管理
用户/组基本概念
为什么要有用户和组(逻辑概念)?
Users and groups:
- Every process (running program) on the system runs as a particular user.
- Every file is owned by a particular user.
- Access to files and directories are restricted by user.
- The user associated with a running process determines the files and directories accessible to that process.
查看当前登录的用户信息:
[yang@ecs-ea9d media]$ id
uid=1001(yang) gid=1001(yang) groups=1001(yang),10(wheel)
uid是用户在系统中的唯一标识;gid是用户所属组(主组)的id,ps:一个用户可以属于多个组,但必有一个主组。groups是用户的主组与附加组。
查看文件的owner:
[yang@ecs-ea9d media]$ ll /home/
total 4
drwxr-xr-x 7 yang yang 4096 Aug 12 11:03 yang
和用户相关的一些文件
- /etc/passwd 所有用户信息(用户名:密码占位符:uid:gid:描述:home:shell )
- /etc/shadow 用来存放密码(用户名:加密后的密码:密码最近修改时间(1970.01.01后的天数):密码最短修改时间:密码最长修改时间:密码过期预警天数:密码过期的宽恕时间:账号失效日期:保留)$id $salt $encrypted
- /etc/group 用来存放组的信息(组名:组密码占位符:gid:组成员)
加密算法$id:
$1: MD5
$5: SHA-256
$6: SHA-512
[root@ecs-ea9d ~]# man 5 passwd
[root@ecs-ea9d ~]# man 5 shadow
[root@ecs-ea9d ~]# man 5 group
[root@ecs-ea9d ~]# man 3 crypt
系统约定(不是不可变的): RHEL6
uid: 0 特权用户
uid: 1~499 系统用户
uid: 500+ 普通用户
The root user
- uid is 0
- all power
- This user has the power to override normal privileges on the file system
- installing or removing software and to manage system files and directorie
- Most devices can only be controlled by root
给普通用户提权
切换用户
[yang@ecs-ea9d ~]$ su
Password:以root身份授权普通用户
[root@ecs-ea9d ~]# vim /etc/sudoers
%wheel ALL=(ALL) NOPASSWD: ALL 取消注释[yang@ecs-ea9d ~]$ sudo useradd gougou10 -G wheel
[yang@ecs-ea9d ~]$ id gougou10
uid=505(gougou10) gid=505(gougou10) 组=505(gougou10)
用户/组管理
groupadd:创建组
groupdel:删除组
useradd:创建用户
userdel:删除用户
usermod:修改用户
passwd:设置/修改密码
chage:修改用户密码有效期限
用户组:
[root@ecs-ea9d ~]# groupadd hr
[root@ecs-ea9d ~]# groupadd sale
[root@ecs-ea9d ~]# groupadd it
[root@ecs-ea9d ~]# groupadd fd
[root@ecs-ea9d ~]# groupadd market
[root@ecs-ea9d ~]# groupadd net01 -g 2000 //添加组net01,并指定gid 2000
[root@ecs-ea9d ~]# grep ‘net01’ /etc/group //查看/etc/group中组net01信息
[root@ecs-ea9d ~]# groupdel net01 //删除组net01
用户:
useradd creates users
==创建用户 未指定选项==
[root@ecs-ea9d ~]# useradd user01
. 未指定该用户的主组
. 未指定该用户的附加组
. 未指定用户的HOME
. 未指定用户的SHELL
. 未指定用户的UID…
[root@ecs-ea9d ~]# id user01
uid=507(user01) gid=512(user01) groups=512(user01)
[root@ecs-ea9d ~]# ls /var/spool/mail/user01
/var/spool/mail/user01
小结:
如果创建一个用户时,未指定任何选项,系统会创建一个和用户名相同的组作为用户的Primary Group.
==创建用户 指定选项==
[root@ecs-ea9d ~]# useradd user02 -u 503 //创建用户usr02,指定uid
[root@ecs-ea9d ~]# useradd user03 -d /aaa //创建用户user03 指定家目录
[root@ecs-ea9d ~]# useradd user05 -s /sbin/nologin //创建用户并指定shell
[root@ecs-ea9d ~]# useradd user07 -G hr,it,fd //创建用户,指定附加组
[root@ecs-ea9d ~]# useradd user10 -u 4000 -s /sbin/nologin
userdel deletes users
==删除用户==
[root@ecs-ea9d ~]# userdel user10 //删除用户user10,但不删除用户家目录和mail spool
[root@ecs-ea9d ~]# ll -d /home/user10/
drwx—— 3 506 510 4096 09-01 21:14 /home/user10/
[root@ecs-ea9d ~]# ll /var/spool/mail/user10
-rw-rw—- 1 506 mail 0 09-01 21:14 /var/spool/mail/user10
[root@ecs-ea9d ~]# userdel -r user2 //删除用户user2,同时删除用户家目录和mail spool
==用户密码==
[root@ecs-ea9d ~]# passwd alice
[zhuzhu@ecs-ea9d ~]$ passwd
usermod modifies existing users
==组成员管理==
注意:只针对已存在的用户
[root@ecs-ea9d ~]# usermod -G hr niuniu2 //覆盖原有的附加组
[root@ecs-ea9d ~]# usermod -G fd,it niuniu2
[root@ecs-ea9d ~]# usermod -aG hr niuniu2 //增加新的附加组
==其它选项管理==
[root@ecs-ea9d ~]# usermod -s /sbin/nologin niuniu2
扩展知识
useradd创建用户时,参照的文件…
[root@ecs-ea9d ~]# vim /etc/login.defs
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 30
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
CREATE_HOME yes
ENCRYPT_METHOD SHA512
[root@ecs-ea9d ~]# vim /etc/default/useradd
SHELL=/sbin/nologin
Password aging
chage -m 0 -M 90 -W 7 -I 14 username
chage -d 0 username will force a password update on next login.
chage -l username will list a username’s current settings.
chage -E YYYY-MM-DD will expire an account on a specific day.
手动创建用户示例:
[root@ecs-ea9d~]# useradd maomao100
[root@ecs-ea9d~]# echo 123456 |passwd –stdin maomao100
[root@ecs-ea9d~]# chage -d 0 maomao100 //强制用户在下一次登录时修改密码
将多个用户加入到指定的组:
[root@ecs-ea9d~]# gpasswd -a jack wheel //usermod -aG hr zhuzhu
[root@ecs-ea9d~]# gpasswd -M zhuzhu,maomao100 hr
[root@ecs-ea9d~]# gpasswd -d zhuzhu hr
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 2924854739@qq.com
文章标题:每天一点Linux-06用户管理
本文作者:DROBP
发布时间:2019-08-14, 19:08:44
最后更新:2019-08-14, 19:17:18
原始链接:https://DROBP.github.io/2019/08/14/每天一点Linux-06用户管理/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。