管理用户和组账号
用户和组账号概述
Linux基于用户身份对资源访问进行控制
用户帐号:
超级用户 root 超级用户,即root用户,类似于Windows系统中的Administrator用户,非执行管理任务时不建议使用root用户登录系统
普通用户 普通用户帐号一般只在用户自己的宿主目录中有完全权限
程序用户 程序用户:用于维持系统或某个程序的正常运行,一般不允许登录到系统。例如:bin、daemon、ftp、mail等
组帐号:
基本组(私有组) 创建用户时指定的组
附加组(公共组) 额外添加的指定组
UID和GID:
UID(User IDentity,用户标识号)
GID(Group IDentify,组标识号)
l root用户的UID号的固定值为0、root组帐号的GID号为固定值0
l 1-499的UID、GID号默认保留给程序用户使用,普通用户/组使用的UID、GID号在500~60000之间
用户账号文件 /etc/passwd
保存用户名称、宿主目录、登录Shell等基本信息
文件位置:/etc/passwd
每一行对应一个用户的帐号记录
l 基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改
l 在早期的UNIX操作系统中,用户帐号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此存在一定的安全隐患,后来经改进后,将密码转存入专门的shadow文件中(见下页)并严格控制全新,而passwd文件中仅保留密码占位符“x”
用户账号文件 /etc/shadow
保存用户的密码、账号有效期等信息
文件位置:/etc/shadow
每一行对应一个用户的密码记录
字段7:在密码过期之后多少天禁用此用户
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)
l 默认只有root用户能够读取文件中的内容,并且不允许root直接编辑该文件中的内容
l 上次修改密码的时间,表示从1970年01月01日(可理解为Unix系统的诞生日)算起到最近一次修改密码时间隔的天数
l 当加密的密码信息为“*“或者”!!”时表示此用户不能登录到系统,若为空时无需密码即可登录系统
添加用户账号
useradd命令
格式 useradd [选项]... 用户名
常用命令选项
-u:指定 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间,格式为YYYY-MM-DD
-g:指定用户的基本组名(或UID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell
l 对应的基本组和附加组必须已存在
l 另外使用adduser命令也可以添加用户帐号
用户账号的初始配置文件
文件来源
新建用户帐号时,从 /etc/skel 目录中复制而来
主要的用户初始配置文件
~/.bash_profile:用户每次登录时执行
~/.bashrc:每次进入新的Bash环境时执行
~/.bash_logout:用户每次退出登录时执行
当用户退出登录后所记录的历史命令将自动清空
l 如需为所有用户添加登录后自动运行的命令程序、自动设置变量等,可以直接修改/etc目录下的类似文件,如/etc/bashrc、/etc/profile文件
设置/更改用户口令 passwd
passwd命令
格式 passwd [选项]... 用户名
l 只有root用户才能进行更改密码
l 不指定用户名时,修改当前账号的密码
常用命令选项
-d:清空用户的密码,使之无需密码即可登录
-l:锁定用户帐号
-u:解锁用户账户
-S :查看用户账号的状态(是否被锁定)
l 标准性密码输入:echo “密码” | passwd --stdin 用户名
修改用户账号的属性usermod
usermod命令
格式 usermod [选项]... 用户名
常用命令选项
-l:更改用户帐号的登录名称
-L:锁定用户账户
-U:解锁用户账户
以下选项与useradd命令中的含义相同
-u、-d、-e、-g、-G、-s
l usermod有两个选项“-L”、“-U”,分别用于锁定、解锁用户帐号,这两个选项与passwd命令的“-l”、“-u”选项作用基本相同,只不过大小写存在区别
删除用户账号 userdel
userdel命令
格式 userdel [-r] 用户名
添加 -r 选项时,表示连用户的宿主目录一并删除
组账号文件
与用户帐号文件相类似
/etc/group:保存组帐号基本信息
/etc/gshadow:保存组帐号的密码信息
l group文件内的最后一个字段中列出属于该组的用户成员(一般不包括基本组对应的用户帐号),多个成员之间以逗号“,”分隔
添加组账号 groupadd
groupadd命令
格式 groupadd [-g GID] 组账号名
删除组账号 groupdel
groupdel命令
格式 groupdel 组帐号名
查询账号信息
id命令
用途:查询用户身份标识
格式 id [用户名]
groups命令
用途:查询用户所属的组
格式 groups [用户名]
finger命令
用途:查询用户帐号的详细信息
格式 finger [用户名]
users、w 、who命令
用途:查询已登录到主机的用户信息
文件/目录的权限和归属
访问权限
读取 r:允许查看文件内容、显示目录列表
写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行 x:允许运行程序、切换目录
归属(所有权)
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号
l “-rw-r—r--”部分的第一个字符表示文件类型,可以是d(目录)、b(块设备文件)、c(字符设备文件),减号“-”(普通文件)、字母“l”(链接文件)等
l 其余部分指定了文件的访问权限
l 在表示属主、属组内用户或其他用户对该文件的访问权限时,主要使用了四种不同的权限字符: r可读 ;w可写 ;x可执行 ;-无权限
l r、w、x、- 权限字符还可分别表示为8进制数字4、2、1、0
l 普通文件的最大权限为6
l 文件夹的最大权限为7
设置文件和目录的权限 chmod
chmod命令
格式1
格式2
常用命令选项
-R:递归修改指定目录下所有子项的权限
设置文件和目录的归属 chown
chown命令
格式
chown 属主 文件或目录
chown :属组 文件或目录 也可以通过 chgrp 属主 文件或目录,chgrp命令只用于修改属组信息(因此并不常用)
chown 属主:属组 文件或目录 也可以chown 属主.属组
常用命令选项
-R:递归修改指定目录下所有文件、子目录的归属