标签:用户和组管理
passwd 文件格式
以冒号为分隔符,分为7段:
login name:登录用名(wang)
passwd:密码(x)
UID:用户身份编号(1000)
GID:登录默认所在组编号(1000)
GECOS:用户全名或注释
home directory:用户主目录(/home/wang)
shell:用户默认使用shell (/bin/bash)
shadow文件格式
以冒号为分隔符,分为9段:
登录用名
用户密码:一般用sha512加密
从1970年1月1日起到密码最近一次被更改的时间
密码再过几天可以被变更(0表示随时可被变更)
密码再过几天必须被变更(99999表示永不过期)
密码过期前几天系统提醒用户(默认为一周)
密码过期几天后帐号会被锁定
从1970年1月1日算起,多少天后帐号失效。
保留字段
用户创建:useradd
useradd[options] LOGIN
-u UID: [UID_MIN, UID_MAX]定义在/etc/login.defs
-o 配合-u 选项,不检查UID的唯一性
-g GID:指明用户所属基本组,可为组名,也可以GID
-c "COMMENT":用户的注释信息
-d HOME_DIR:以指定的路径(不存在)为家目录
-s SHELL: 指明用户的默认shell程序
可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...]:为用户指明附加组,组必须事先存在
-N 不创建私用组做主组,使用users组做主组
-r: 创建系统用户CentOS 6: ID<500,CentOS 7: ID<1000
用户属性修改
usermod[OPTION] login
-u UID: 新UID
-g GID: 新基本组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;
-s SHELL:新的默认SHELL;
-c ‘COMMENT‘:新的注释信息;
-d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name: 新的名字;
-L: lock指定用户,在/etc/shadow 密码栏的增加!
-U: unlock指定用户,将/etc/shadow 密码栏的! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期;
-f INACTIVE: 设定非活动期限;
删除用户
userdel[OPTION]... login
-r: 删除用户家目录;
getent命令:
[root@CentOS7 ~]# getent passwd == [root@CentOS7 ~]# cat /etc/passwd
#查看指定用户或者组信息及其属性信息
[root@CentOS7 ~]# getent passwd user1
user1:x:1001:1001::/home/user1:/bin/bash
[root@CentOS7 ~]# getent group user1
user1:x:1001:
/etc/login.defs 创建用户默认用户口令配置文件
默认设置文件:
默认值设定:/etc/default/useradd文件中
显示或更改默认设置:
useradd-D
useradd–D -s SHELL指定修改 == vim /etc/default/useradd
[root@CentOS7 ~]# useradd -D 查看
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
###SKEL=/etc/skel为默认新建用户家目录的配置文件,当没有家目录时,可复制该文件(里面全为隐藏文件)
[root@CentOS7 ~]# cp -r /etc/skel/. /home/user1
创建系统账号时不自动生成家目录和邮箱(/var/spool/mail)
当家目录不存在时,登录及切换时显示为:
批量创建用户步骤:
1、创建用户
vim user.txt---格式为/etc/passwd文件
newusers user.txt
2、设置密码
vim passwd.txt---格式为:用户名:密码
cat passwd.txt | chpasswd
3、拷贝家目录
新建一个脚本jaimulu.sh---内容为cp -r /etc/skel/.[^.]* /home/user1
或者cp -r /etc/skel/. /home/user1 #/home/user1为user1的家目录
4、邮件功能(可选),(邮箱/var/spool/mail)
新建一个脚本youjan.sh---内容为mail -s Hi user1 < /etc/fstab #添加多个用户即可
#查看用户所在组:
[root@CentOS7 ~]# groups user1
user1 : user2 root bin nobody #user2为主,后面的为附加组
[root@CentOS7 ~]# id user1
uid=2016(user1) gid=1002(user2) groups=1002(user2),0(root),1(bin),99(nobody)
清空附加组:
[root@CentOS7 ~]# usermod -G "" user1
[root@CentOS7 ~]# id user1
uid=2016(user1) gid=1002(user2) groups=1002(user2)
[root@CentOS7 ~]# groups user1
user1 : user2
查看用户相关的ID、名称信息:
[root@CentOS7 ~]# id -u user1
1001
[root@CentOS7 ~]# id -un user1
user1
[root@CentOS7 ~]# id -g user1
1001
[root@CentOS7 ~]# id -gn user1
user2
[root@CentOS7 ~]# id -G user1 #G(groups)
1002 0 1 99
[root@CentOS7 ~]# id -Gn user1
user2 root bin nobody
su命令:
su[options...] [-] [user [args...]]
切换用户的方式:
suUserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
su-UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
root su至其他用户无须密码;非root用户切换时需要密码
[user1000@CentOS7 ~]$ su - root -c pwd #以root的身份去执行命令
Password:
/root
本文出自 “每天进步一点点” 博客,请务必保留此出处http://563349612.blog.51cto.com/11096134/1834511
标签:用户和组管理
原文地址:http://563349612.blog.51cto.com/11096134/1834511