Linux用户和组管理
Username / UID
- 管理员:root,0
-
普通用户 : 1–65535
-
系统用户 :系统已经已经存在专门用来对系统服务或者系统资源进行管理的
1–499(CentOS 6.X)
1–999 (CentOS 7.X) -
登录用户:平时专门做系统管理的用户
500+ (CentOS 6.X)
1000+ (CeentOS 7.X)
用户ID ,其实就是UID, 用来标识用户身份的;
-
系统用户 :系统已经已经存在专门用来对系统服务或者系统资源进行管理的
Groupname / GID
- 管理员组 : root,0
-
普通组: 1-65535
-
系统组:1-499(CentOS 6.X), 1-999(CENTOS7)
非系统组:500+(CentOS 6.x), 1000+(CENTOS7)
-
系统组:1-499(CentOS 6.X), 1-999(CENTOS7)
用户和组的关系
每个用户必须属于一个与用户同名的组(默认的情况) 这个组一般叫做基本组(主组)
一个用户可以属于除基本组之外的其他组,这个组就叫做(附加组)(辅助组)
[root@lyp home]# ll /etc/{passwd,group,shadow,gshadow}* -rw-r--r--. 1 root root 998 Mar 29 18:08 /etc/group
-rw-r--r--. 1 root root 1015 Mar 25 01:00 /etc/group-
----------. 1 root root 807 Mar 29 18:08 /etc/gshadow
----------. 1 root root 820 Mar 25 01:00 /etc/gshadow-
-rw-r--r--. 1 root root 2335 Mar 29 18:08 /etc/passwd
-rw-r--r--. 1 root root 2380 Mar 29 18:08 /etc/passwd-
----------. 1 root root 1402 Mar 29 18:08 /etc/shadow
----------. 1 root root 1523 Mar 29 18:08 /etc/shadow-
/etc/group 存储的是组信息
/etc/gshadow 存储的是组的密码
/etc/passwd 存储系统全部用户的账号信息
/etc/shadow 存储用户和对应的密码 ,密码有效时间
- /etc/passwd
root: x: 0: 0 : root: /root: /bin/bash
用户名 密码占位符 UID GID 注释信息 用户的家目录 默认的用户的shell /sbin/nologin 系统用户 因为系统资源或者进程的管理工作,并不需要登录 38 /sbin/nologin 4 /bin/bash 1 /sbin/shutdown 1 /sbin/halt 1 /bin/sync
- /etc/group
magedu: x : 1000 : magedu
组名 密码占位符 GID 用户
- /etc/gshadow
magedu: !! : : magedu 群组名称 密码 组管理员列表 组里的用户
- /etc/shadow
magedu: 用户名 $6$X5WhrwGlH43. 密码(加密的密码)
:17249 最近一次修改密码的时间
:0 经过多少天才可以被变更
:99999: 最大使用时间(永不过期) 7: 密码到期之前7天提醒修改密码
: 密码到期之后这个账号被锁定
: 账号失效时间
: 保留
如果是 ! * 说明这个账号是不可用被锁定
$ 6 $ X5WhrwGlH43drG6g $HBK4K2Ze5QURnW3VuFYIL4KMKo1 加密算法 salt 密码
加密算法:md5 ; sha1 ; sha224 ; sha256 ; sha384 ; sha512
使用salt可以避免密码一样;添加的随机数
MySQL,用户加密md5
批量修改密码:
shell脚本 ;python脚本
ansible ; puppet ; salt
或一台台改
用户和组相关的管理命令
-
用户创建 useradd (使用频率2)
-u 指定UID (默认500|1000开头)
-o -u新建用户前不检查指定的UID是否存在(默认是检查,一般不要使用这个选项)
useradd -u 250 -o yonggege
-g GID|组名 指明用户所属的基本组 (使用比较多)
-G 指明用户所属的附加组
-d 指定某个目录作为家目录,默认/home
-s 指明用户默认的shell 默认/bin/bash 通常会指定/sbin/nologin(使用较多)
-c “ ” 指定用户注释信息
-r 新建系统用户
-m 默认选项 创建用户家目录
-M 不创建用户家目录 (使用较多)
useradd -M -s /sbin/nologin yongge
useradd -D 改变新建用户默认的选项 (使用频率为0)
[root@CentOS68 ~]# cat /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home 默认家目录 INACTIVE=-1 密码失效日期,shadow第7列 EXPIRE= 账号失效日期 第8列 SHELL=/bin/bash SKEL=/etc/skel 家目录下面的隐藏文件的模板 CREATE_MAIL_SPOOL=yes 是否创建一个邮箱账户
-
用户属性修改 usermod
-U 解锁用户 sarah
-L 锁定用户 (直接修改密码文件,加感叹号) -
passwd: 修改自己的密码
passwd [options] UserName-
不常用选项:
-l:锁定指定用户
-u:解锁指定用户
-e (date):强制用户下次登录修改密码;(过期期限,日期)
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
常用选项 :
–stdin:从标准输入接收用户密码
echo “PASSWORD” | passwd –stdin USERNAME
Note: linux 系统之上有两个特殊文件:
/dev/null: 能够接收任何内容,并将其丢弃,外号:无底洞
/dev/zero : 能够连续不断的输出0信息echo "123456" | passwd --stdin xian chage -d 0 xian 要求用户在第一次登陆的时候必须强制一定要修改密码 echo "P@ $ sd" | passwd --stdin xian
-
(1)passwd : 修改自己的密码
(2)passwd UserName : 修改指定用户密码,仅限root
注意:字符串有一个$符号 会把后面的内容给替换成变量 而这个变量为空,所以切记改密码的时候要使用单引号 强引用
要注意的事情是:改完密码之后,当前的终端不能立即退出,改为先验证下密码是否改成功,如果成功再退出,如果不成功,你退出了,后果就自己想吧!
-
-
userdel 删除用户 (使用频率1)
-r 删除用户家目录 -
创建组 groupadd
groupadd [options] group- g GID:指明GID;默认是上一个组的GID+1
- r: 创建系统组
-
id 查看用户信息
id [OPTION] … [USER]
-u UID
-g GID
-G 附加组
-n Name
-
groupmems
groupmems -a user_name | -d user_name | [-g group_name] | -l | -p-
-g 组 -a 用户名
-g 组 -d 删除
-g 组 -p 清空
-g 组 -l 列出组内所有的用户
groupmems -g shanxi -a hanzhong;
使用groupadd 添加一个组情况相对较多 。
-
-g 组 -a 用户名
-
切换用户或以其他用户身份执行命令( switch user): su
-
su UserName : 非登录式切换,即不会读取目标用户的配置文件;
su – UserName : 登录式切换,会读取目标用户的配置文件,完全切换;
Note : root su 至其他用户无需密码,非root用户切换时需要密码;
不加 – 某些环境变量可能不会切换过去,等于是人过去了,行李还没过去 su lucy;
加 – 行李和人都过去 ,生产推荐使用 su – lucy;
su -l USER === su – USER
-c ’CMD‘ 以某个用户的身份执行CMD命令
[root@CentOS68 ~]# su – lucy -c ‘whoami’
xian
su – lucy -c “date +’%Y %m'”
2017 03
单引号和双引号在执行单个命令的时候并没有什么区别,所有执行的命令里面包含 ’ ’ 建议外面使用 “ ”
使用root切换到其他普通的时候 是不需要密码的,但是普通用户切换到root或者切换到其他用户的时候是需要密码登录的
su – root 用户名可以省略,但是仅限于root用户
如果想切换到root用户不用输密码,可以只用visudoer编辑
-
su UserName : 非登录式切换,即不会读取目标用户的配置文件;
-
组属性修改 :groupmod
groupmod [options] GROUP- n group_name : 新名字
- g GID :新的GID
-
组删除 : groupdel
groupdel GROUP (首先删除对应的用户 然后才能执行对应的组的删除操作) -
组密码 : 组密码的作用为用户切换基本组 , 其设置工具为gpasswd
gpasswd [option] group-
a user : 将user添加至指定组中
-d user :将user从指定组中删除
-A userlist : 设置有组管理权限的用户列表
-
a user : 将user添加至指定组中
-
groups
[zhengzhou@CentOS68 ~]$ groups zhengzhou root 基本组和附加组 [zhengzhou@CentOS68 ~]$ newgrp root 切换基本组和附加组 [zhengzhou@CentOS68 ~]$ groups root zhengzhou [zhengzhou@CentOS68 ~]$ touch shangjie [zhengzhou@CentOS68 ~]$ ll shangjie -rw-r--r--. 1 zhengzhou root 0 Mar 31 11:07 shangjie
-
newgrp : 临时切换基本组:如果用户本不属于此组,则需要组的密码
-
修改用户密码属性 : chage
-
chage [OPTION]… LOGIN
-d LAST_DAY 最近一次更改密码(3) (使用较多)
-E –expiredate EXPIRE_DATE账号失效日期(8)
-I –inactive INACTIVE密码失效日期(7)
-m –mindays MIN_DAYS最短使用天数(4)
-M –maxdays MAX_DAYS最大使用天数(5)
-W –warndays WARN_DAYS失效前警告时间(6) -
其他命令:
chfn : 指定个人信息,修改内容 ; chfn changchun
chsh :指定shell ; chsh changchun /sbin/nologin
finger : 查看个人信息内容 ; finger changchun
-
chage [OPTION]… LOGIN
原创文章,作者:s,如若转载,请注明出处:http://www.178linux.com/72306
评论列表(1条)
几乎学了的很多知识你都总结出来了,挺好的,继续努力