前言
Linux系统中用户和所属角色(组)是通过UID和GID来识别的
- 用户ID(UID): 相当于各位的身份证,系统中是唯一的
- 组ID(GID): 相当于各位所属的家庭(学校)。
一个组可以有多个UID,但是一个UID不能所属多个组。这样理解:一个学校可以有1000名学生,但是这些学生只能属于这个学校,而不能属于其他学校。
注意:好多命令选项不常用,可以略过看命令选项解释,直接拉到最后看实例,不懂的回头再看选项注释
命令
useradd 【参数选项】 用户名
添加新用户
参数选项:
-b, --base-dir BASE_DIR 新帐户主目录的基本目录
-c, --comment COMMENT 加上备注文字。备注文字会保存在passwd的备注栏位中
-d, --home-dir HOME_DIR 指定家目录(用户登入时的起始目录)
-D, --defaults 改变默认的属性
-e, --expiredate EXPIRE_DATE 指定日期(账号失效的日期)
-f, --inactive INACTIVE 指定在密码过期后多少天即关闭该帐号。
-g, --gid GROUP 指定用户所属的群组。
-G, --groups GROUPS 指定用户所属的附加群组。
-h, --help 帮助信息
-k, --skel SKEL_DIR use this alternative skeleton directory
-K, --key KEY=VALUE 覆盖 /etc/login.defs 的默认值
-l, --no-log-init 不要将用户添加到lastlog和faillog数据库
-m, --create-home 创建家目录
-M, --no-create-home 没有(不创建)家目录
-N, --no-user-group 不要创建与用户同名的组
-o, --non-unique 允许创建具有重复(非唯一)UID的用户
-p, --password PASSWORD 密码
-r, --system 创建一个系统账号
-s, --shell SHELL 指定用户登入后所使用的shell。
-u, --uid UID 指定用户UID
-U, --user-group 创建一个同用户名相同的组
-Z, --selinux-user SEUSER 使用特定的SEUSER进行SELinux用户映射
passwd 参数 用户名
使用 passwd 命令为新建用户设置密码和修改用户密码:
-l:锁定已经命名的账户名称
-u:解开账户锁定状态
-x, --maximum=DAYS:密码使用最大时间(天)
-n, --minimum=DAYS:密码使用最小时间(天)
-d:删除使用者的密码
-S:检查指定使用者的密码认证种类
--stdin:非交互式修改/设置密码,弊端是操作日志能查密码,用history -c 干掉。
groupadd 参数 用户组名
创建用户组
-g:指定新建用户组的gid(数字);
-r:创建系统工作组,系统用户的组ID小于500;
-K:覆盖配置文件“/ect/login.defs”;
-o:允许添加组ID号不唯一的工作组。
实例
添加用户:
#添加一个普通用户test,自动创建家目录,注释信息"add new user test" ,没有指定用户组则自动创建和用户名相同的组(注意最后的test是用户名)
useradd -c "add new user test" -m test
#查看用户信息
cat /etc/passwd | grep test
设置密码|修改用户密码:
##输入passwd test,会提示填写密码、再次确认密码,按提示输入密码即可
passwd test
修改用户
#将test用户备注改为“change user test”
usermod -c "change user test" test
删除用户:
#选项-r,它的作用是把用户的家目录一起删除。
userdel -r test
创建用户组:
##创建用户组,指定id为123
groupadd -g 123 testgroup
##查看用户组信息
cat /etc/group | grep testgroup
删除用户组
##删除用户组
groupdel testgroup
修改用户组
#将用户组名为testgroup改为newtestgroup,且组gid改为124。
groupmod -g 124 newtestgroup testgroup