账号和权限管理
一、用户账号和组账号概述
用户账户共分为三种类型:
超级用户:超级用户就是root用户,对本机拥有最高的权限,系统中的超级用户是唯一的。
普通用户:由root用户或其他用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限
程序用户:在安装Linux操作系统及部分程序时,会添加一些特定的权限用户账号,这些用户一般不允许登入到系统,仅用于维持系统或某个程序的正常运行。如bin、deamon、ftp、mail等
基本组和附加组:
基本组:是唯一的,创建用户时,如果没有指定基本组,那么默认就是用户名为基本组
附加组:一个用户可以拥有多个附加组。
UID和GID:
UID:用户标识号
GID:组标识号
root用户的UID和GID号为固定值0
程序用户的UID和GID号默认为centos5、6: 1~499,centos7:1~999
普通用户的UID和GID号默认为centos5、6:500~60000,centos7:1000~60000
二、查看用户信息和密码信息
查看用户信息
用户信息的目录在/etc/passwd里面
保存用户密码信息的目录地址在/etc/shadow目录里面
三、创建删除用户
创建用户
useradd 用户名 创建用户
常用选项:
-u : 指定用户的UID号,要求该UID号码未被其他用户使用
-d :指定用户的宿主目录位置(当与-m一起使用时不生效)只能用绝对路径指定目录,且不需要事先创建目录
-e :指定用户的账户失效时间,可使用 YYYY-MM-DD的日期格式
-g :指定用户的基本组名(或使用GID号),对呀的组名必须存在
-G :指定用户的附加组名(0或使用GID号,对应的组名必须存在
-M :不建立宿主目录
-s :指定用户的登入shell
修改用户密码
passwd 用户名:修改用户密码
输入密码时是不显示密码的
常用选项
-d :清空指定用户的密码,仅使用用户即可登入密码(不建议使用,无密码登入不安全)
-l :锁定用户账户,锁定的用户账户将无法再登入系统
-s :查看用户账户的状态(是否被锁定)
-u :解锁用户账户
修改用户账户属性
usermod 选项 用户名:修改用户账户属性
常用选项
-u :修改用户的UID号
-d :修改用户的宿主目录位置
-e :修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式
-g :修改用户的基本组名(或使用UID号)
-G :修改用户的附加组名(或使用GID号)
-s :指定用户登入的shell
-l : 更改用户账号的登录名称
-L:锁定用户账户
-U :解锁用户账户
比如将用户dty的登入名称改为hi
这是改之前的
使用usermod -l hi dty命令
这是改之后的
用户删除
userdel 用户名:删除用户账户
每个用户在创建时都会建立一个宿主目录,使用userdel删除用户并不会将这个宿主目录删除,需要使用userdel -r 用户名才可以
用户账户的初始配置
用户账户由一些初始的配置文件,这些文件里面有很多的命令,我们每次使用的命令都需要从里面调用。分为用户宿主目录下的配置和全局配置文件。
全局配置文件对所有用户生效
/etc/profile:这个文件是为系统全局变量配置文件,可通过重启系统或执行source /etc/profile 命令使profile文件被读取
/etc/profile.d :这个文件实际上是/etc/profile的子目录,存放的是一些应用程序所需的启动脚本。
/etc/bashrc:每一个运行bash shell的用户都会执行此文件,可通过执行bash命令打开一个新的bash shell时,使bashrc文件被读取
用户宿主目录下的初始配置文件支队当前用户有效
~/etc/profile :此文件中的命令将在该用户每次登入时被执行,他会设置一些环境变量,并且会调用该用户的~/bin/bashrc文件
~/etc/bashrc:此文件中命令会在每次打开新的bash shell时(也包括登录系统)被执行,并且会调用/etc/bashrc文件
~ /.bash logout:此文件中的命令将在用户每次退出登录或退出时执行
四、添加和删除组
组账户文件
组账户文件与用户文件相类似
- /etc/group:保存组账号基本信息的目录
- /etc/gshadow:保存组账号的密码信息的目录
添加组账号
groupadd 组名:添加组账号
groupadd -g UID号 组名:指定组的uid号
添加,删除组成员
gpasswd 选项 组名:设置组账号密码(极少用)、添加/删除组成员
常用选项:
-a :向组内添加一个用户
-d :从组内删除一个用户
-M:定义组成员列表,以逗号分隔
查询账号信息
groups :查询用户所属的组
id :查询用户身份标识
finger :查询用户账户的登入信息(可能需要在yum里面安装一下)
w、who、users :查询已登录到主机的用户信息
五、文件和目录的权限和归属
权限修改
之前咱们学习过一个文件的七个属性,第二个代表着这个文件的访问权限。分别用rwx表示。rwx可以用八进制来表示。
r=4、w=2、x=1
那么rwx加起来就是7,三个如果都是拥有可读,可写,可执行权限的话,那么我们就可以用777来表示。
修改权限的命令格式为:
chmod 权限 文件名
修改前:
修改后:
还可以递归修改指定目录下所有子项的权限
chmod -R 文件名
文件和目录的归属
之前学过的文件七个属性里面有属主和属组,这是可以修改的。其格式为:
chown 归属 文件名
也可以递归修改指定目录下所有文件、子目录归属
chown -R 归属 文件名