在Linux系统管理中,我们经常添加删除修改用户和组的信息,所以我们来学习下创建删除修改用户和组
下面我们就来简单的说下什么是组、什么是用户的概念?
用户:
其实简单的理解就是文件或者目录创建的一种标识。
组:
组简单的理解就是一种容器,是用来赋予用户对于目录或文件的一种容器,所以组是不能登录系统,而且还不能使用资源。
账号、组管理:
/etc/login.defs
Shadow password suite configuration.
/etc/passwd
User account information.
root:x:0:0:root:/root:/bin/bash
第一字段:account: 登录名
第二字段:password–>/etc/shadow
第三段:UID:
第四段:GID:基本组ID
第五段:comment: 账号的注释信息
第六段:HOME DIR:用户账号家目录
第七段:SHELL:用户的默认shell
/etc/shadow
Secure user account information.
root:$1$AKMibarg$G/nw/HgmH3geg66k8/keF1:15761:0:99999:7:::
第一字段:account: 登录名
第二字段:encrypted password (如果出现的是*/!,则表明此账号无法登陆系统)
第三字段:最近更改密码的日期
第四字段:密码不可更改的天数
第五字段:密码要重新更改的天数
第六字段:密码更改期限前的警告信息
第七字段:密码过期的宽限时间
第八字段:账号失效日期
第九字段:保留
/etc/group
Group account information.
daemon:x:2:root,bin,daemon
第一字段:account
第二字段:password
第三字段:GID ->用户组ID
第四字段:加入这个组的所有账号
创建用户:
useradd [options] LOGINNAME
-u:UID(默认是大于等于500,且不能重复)
-g:GID(基本组):前提是这个组事先存在
-G:GID ….附加组
-c:”comment”:指定注释信息
-d:/path/to/directory,指定用户家目录
-s:指定shell ->/etc/shells(当前)
-m:当指定家目录不存在,-m强制为用户家目录。
-M:不创建家目录
综合利用:
创建一个系统用户tom,注释信息为”This is a text account”,并将ID指为111,家目录为/home/tom3
shell改为/sbin/nologin,并加入到mygroup里面。
# adduser -r -c “This is a text account: -d /home/tom3 -m -s /sbin/nologin -G mygroup
ID:
功能:查看用户详细信息
选项:
-G:所有组ID信息
-u:显示用户ID
-g:显示gid
-n:显示名称
For example:
查看tom用户的ID账号信息:
# id tom 即可显示
userdel:
功能:删除用户
选项:
-r:删除用户的同时、家目录一并删除
For example
删除tom用户并将其家目录一并删除:
# userdel -r tom
usermod:
功能:修改用户账号的各项设定
选项:
-u:UID
-g:GID 接group name必须在/etc/group组中
-G:默认覆盖之前的附加组
-a:追加附加组 改变用户能够支持的用户组
-c:指定注释信息
-d:指定家目录
-m:即指定家目录的位置,5并移动之前家目录的内容移植到当前指定家目录中。
-s:修改shell
-l:更改用户名名称–>对应的是/etc/passwd文件中第一栏。
-e:修改密码过期时间,后接日期参数为MM/DD/YY或YYYY-MM-DD
-L:(lock)锁定用户账号
-U:(unlock)解锁用户账号
For example 锁定jack用户账户信息,并修改注释信息为”download file” #usermod -c “beause download file” -L jack
用户的功能:
chsh:更改用户默认shell
-l:列出当前系统可用的shell
-s:修改自己的shell
chfn:更改用户注释信息(finger)信息
选项:
-f:后面接完整的名字
-o:办公室地址
-p:办公室电话
-h:家庭电话
passwd:修改用户密码
管理员:可以指定用户名,并修改用户密码
普通用户:只能修改本身密码
选项:
–stdin:从标准输入接收
-l:锁定账号
-u:解锁
-d:删除账号密码(空密码)
For example
创建用户RedHat,密码为空密码
# adduser redhat
# passwd -d redhat
组管理:创建、修改、删除
创建组:grouopadd
groupadd
-g:指定GID(大于500)
-r:添加一个系统组
修改组属性:
groupmod
-g:修改GID
-n:修改组名
For example
修改组hive改名为Hadoop
# groupmod -l hadoop hive
删除组:
groupdel:
组加密码:
gpasswd:
gpasswd GROUPNAME:一个用户创建的文件属主是自身,属组为自身的基本组
newgrp GROUPNAME
临时切换文件的基本组
chage:
-d:最近一次的修改时间
-E:仅用时间/过期时间
-I:非活动时间
-M: 最短使用期限
-m:最长使用期限
-W:警告时间
权限管理:
chown:改变文件属主(只有管理员才可以使用此命令)
文件和目录都都可以使用
# chown USERNAME file,…..
-R:(递归修改):修改目录及其内部文件或目录的属主
–reference=/path/to/somefile file…引用、参考
chgrp:改变文件属组
# chgrp GRPNAME file,……
–reference=/path/to/somefile file,…
chown:同时改变属主和属组
# chown USERNAME:GRPNAME file,….
# chown USERNAME.GRPNAME file,….
chmod:修改文件的权限
修改三类用户的权限
chmod MODE file,…
-R:修改目录及子文件
–reference=/path/to/somefile file,..
修改某些类用户或某些类用户权限
修改某类用户的某位或某些位权限
chmod 用户类别+-MODE file,…
chmod u-x /tmp/file
将/tmp/file属主执行权限去掉
chmod a+x /tmp/file
-x /tmp/file