用户
作用:用于管理Linux系统的文件
用户分类
超级用户:root一个Linux系统只能有一个超级用户,持有最高管理权限
普通用户:一般只在用户自己的宿主目录下有完整的权限
程序用户:用来维持系统或程序的正常运行,一般不允许登录到系统
组
作用:用于管理用户,是用户的集合
组分类
基本组:在创建用户时,系统会默认创建一个与用户同名的基本组(私有组),将用户添加到组中
附加组:手动将用户添加进去的组
例如创建一个用户aaa,那么用户aaa的基本组是aaa,如果将aaa加入root组,那么root就是用户aaa的附加组
UID和GID
UID(user identity):用户编号,root的UID永远为0,程序用户的UID为1-499,普通用户的UID从500开始
GID(group identity):组编号,root的GID永远为0,程序用户的GID为1-499,普通用户的GID从500开始
用户账号文件
/etc/passwd文件保存用户名称,宿主目录,登录shell等信息,每一行对应一个用户的账号记录,例:
[root@CentOS ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
解析:(从左到右依次)
root:用户名
x:密码占位符,考虑安全性,口令密码不使用明文进行保存,而是用‘X’填充
0: #用户UID
0: #用户GID
root: #用户属组
/root: #用户宿主目录
/bin/bash: #用户登录的shell信息
/etc/shadow文件:passwd对于任何用户均可读,为增加系统安全性,用户口令通常用shadow passwords保护,即保存在shadow文件中,此文件只对root用户可读,例:
[root@CentOS ~]# ll /etc/shadow
----------. 1 root root 612 8月 30 20:05 /etc/shadow
作用:保存个用户账户的密码等信息
[root@CentOS ~]# cat /etc/shadow
root:(password):17773:0:99999:7:::
解析:(从左到右依次)
root: #用户名
(password): #加密的密码字段
17773: #上次修改密码的时间(天),默认从1970年1月1日开始计数辰)
0: #密码最短有效时间,默认0天
99999: #密码最长有效时间,默认99999天
7: #警告时间,密码到期前7天提醒用户更新
空格: #不活动时间,在用户密码到期后多少天禁用此用户
空格: #失效时间,从1970.1.1起到用户被禁用的天数
空格: #标志,保留位
添加用户(useradd)
格式:useradd [选项] 用户名
选项:
-u:指定用户的UID标记号
-d:指定用户的宿主目录,默认为/home/用户名
-e:指定用户的失效时间
-g:指定用户的基本组名或GID
-G:指定用户的附加组名或GID
-M:不为用户建立并初始化宿主目录
-s:指定用户登录shell
设置/更改用户密码(passwd)
格式:passwd [选项] 用户名
选项:
-d:delete清空用户密码,可以无密码登录
-l:lock锁定用户账号
-S:status查看用户账号状态
-u:unlock解锁用户账户
另:passwd用户名 #修改账户密码
用户主要配置文件
来源:创建一个用户时,系统自动从/etc/skel拷贝配置到用户宿主目录(隐藏文件)
~./bash_profile#用户登录时执行,用户可编辑——通过堡垒机管理服务器
~./bashrc #用户每次进入新的bash环境时执行——给命令取别名
~./bash_logout#用户退出登录时执行——用户关机时清除缓存和操作
修改用户账号的属性
格式:usermod [选项] 用户名
选项:
-l:更改用户账号的登录名称
-L:锁定用户账号
-U:解锁用户账号
下列选项与useradd命令中的含义相同:-u,-d,-e,-g,-G,-S
删除用户(userdel)
格式:userdel [选项] 用户名
选项:
-r:删除用户时删除宿主目录
组账户文件
/etc/group文件保存个用户的分组信息,与passwd类似,每行记录一个组的信息,任何用户可读,例:
[root@CentOS home]# cat /etc/group
bin:x:1:bin,daemon
解析:(从左到右依次)
bin: #组名
X: #组口令占位符,用‘X’占位
1: #组标志号(GID)
bin,daemon: #组成员,成员之间用‘,’分隔
/etc/gshadow文件用于定义用户组口令、组管理员等信息,与/etc/shadow类似,每一行记录一个组的信息,例:
[root@CentOS home]# cat /etc/gshadow
bin:::bin,daemon
解析:(从左到右依次)
bin: #组名
空格: #组口令占位符,用‘!!’占位
空格: #组管理员账号
bin,daemon: #组成员,成员之间用‘,’分隔
添加组帐号(groupadd)
格式:groupadd [-g GID]组帐号名
添加组成员(gpasswd)
gpasswd命令:设置帐号密码,添加删除组成员---->极少用或根本不用
格式:gpasswd [选项] 用户名 组名
选项:
-a: #向组内添加一个用户
-d: #从组内删除一个用户
-M: #定义组成员列表,以逗号分隔
删除组帐号(groupdel)
格式:groupdel组帐号名
查询帐号信息
id用户名
groups用户名
finger用户名
user
w
Who
文件目录的权限和归属
访问权限
读取r:允许查看文件内容,显示目录列表
写入w:允许修改文件内容,允许在目录中新建,移动,删除文件或子目录
执行x:允许运行程序,切换目录
[root@CentOS /]# ll 1.txt
-rw-r--r-- 1 root root 0 8月 31 23:57 1.txt
设置文件和目录的权限(chmod)
格式1:chmod [ugoa] [+-=] 文件或目录
选项:
u:user
g:group
o:other
a:all
+:添加权限
-:删除权限
=:直接赋权
格式2:chmod [nnn] 文件或目录
ex :chmod 644 1.txt
归属:
属主:拥有该文件或目录的用户账户
属组:用户该文件或目录的组账户
设置文件和目录的归属(chown)
格式:
chown属主:属组 文件或目录
chown属主 文件或目录
chown :属组 文件或目录
常用选项
-R:递归修改指定目录先所有文件,子目录的归属。