用户

作用:用于管理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:递归修改指定目录先所有文件,子目录的归属。