一. 用户和组的管理 
- Linux中用户种类:

root : 管理员,拥有至高无上的权限,不受限制,UID为0

普通用户: 管理员创建的用户,受权限限制,UID一般是500~60000,可以登录系统


程序用户 :安装应用程序,系统创建的,UID一般是1~500,一般不可以登录系统,shell一般是/sbin/nologin



-Linux中组的种类:


基本组(私有组) 一个用户只有一个私有组,当用户创建目录和文件的时候,目录和文件默认的属组是基本组


附加组(公共组) 用户可以有多个附加组



-用户的管理:

/etc/passwd   #存放了用户的信息

root:用户账户

x:密码占位符

0:uid

0:gid

root:描述性信息

root:家目录

/bin/bash:登录shell


/etc/shadow   #存放了用户的密码信息等(与/etc/passwd用户信息每一行对应)

root后面的红色部分 :密文,一般用HASH算法生成

14374:从1970年1月1日到现在的时间(单位天)

0:密码最短使用期限

99999:密码最长有效期限

7:密码失效提前7天提醒

:账号过期多长时间会失效以及保留项


 

-添加用户账号

 

useradd命令

useradd  [选项]...  用户名

   

-u:指定 UID 标记号    

-d:指定宿主目录,缺省为 /home/用户名 (指定目录会自主创建,当指定目录存在将不会复制初始配置文件)


  

-e:指定帐号失效时间    

-g:指定用户的基本组名(或UID号)    

-G:指定用户的附加组名(或GID号)   (当指定的附加组不存在时,无法创建用户 )

-M:不为用户建立并初始化宿主目录    

-s:指定用户的登录Shell


 

-设置/更改用户口令

passwd命令

passwd  [选项]...  用户名

-d:清空用户的密码,使之无需密码即可登录   

-l:锁定用户帐号    

-S:查看用户帐号的状态(是否被锁定)     

-u:解锁用户帐号


补充:标准输入:

 echo "123456" | passwd --stdin test02

给test02账户设置密码123456



-exit

可以退回上次切换账户时的账户



-修改用户账号的属性 
usermod命令

usermod  [选项]...  用户名

-l:更改用户帐号的登录名称

-L:锁定用户账户

-U:解锁用户账户


-u:指定 UID 标记号    

-d:指定宿主目录,缺省为 /home/用户名    

-e:指定帐号失效时间    

-g:指定用户的基本组名(或UID号)    

-G:指定用户的附加组名(或GID号)    

-M:不为用户建立并初始化宿主目录    

-s:指定用户的登录Shell




-删除用户账号 
userdel命令

userdel  [-r]  用户名  (添加 -r 选项时,表示连用户的宿主目录一并删除)

  


-用户账号初始配置文件:

文件来源:从/etc/skel目录中复制而来

主要的用户初始配置文件:

      用户每次登录时执行

   每次进入新的bash环境时执行

   用户每次退出登录时执行


组账号文件



-添加组账号

groupadd命令

groupadd  [-g GID]  组帐号名

基本组和附加组都在/etc/group里面




-增加/删除组成员 
gpasswd命令 

用途:设置组帐号密码(极少用)、添加/删除组成员

gpasswd  [选项]...  组帐号名

-a:向组内添加一个用户

    

-d:从组内删除一个用户成员

    

-M:定义组成员列表,以逗号分隔(会覆盖原组成员


-删除组账号 
groupdel命令

groupdel  组帐号名


-查询账号信息:

id命令

用途:查询用户身份标识

格式:id  [用户名]


groups命令

用途:查询用户所属的组

格式:groups  [用户名]


finger命令

用途:查询用户帐号的详细信息

格式:finger  [用户名]


users、w 、who命令

用途:查询已登录到主机的用户信息



二. 文件和目录的属性:属主、属组、权限

-文件/目录的权限和归属

A.  访问权限

读取r:允许查看文件内容、显示目录列表

写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录

可执行x:允许运行程序、切换目录


B.  归属(所有权)

属主:拥有该文件或目录的用户帐号

属组:拥有该文件或目录的组帐号


ls -l 执行命令后得结果分析

例:

第一个字符:表示文件或目录的类型:

d(目录)

b(块设备文件)

c(字符设备文件)

“-”(普通文件)

“l”(链接文件)

第2-4个字符:表示属主的权限

第5-7个字符:表示属组的权限

第8-10个字符:表示其它人的权限

34298:文件大小 单位字节

04-02 00:23 :文件创建时间

install.log:文件名



-Linux中基本权限分为r(4)、w(2)、x(1)

查看文件/目录的权限和归属

-设置文件和目录的权限

chmod命令

格式1:chmod   [ugoa]  [+-=] [rwx]  文件或目录...

格式2:chmod nnn 文件或目录...(推荐使用)

 

常用命令选项

-R:递归修改指定目录下所有子项的全新


-设置文件和目录的归属

chown命令

格式:chown  属主  文件或目录

    chown  :属组  文件或目录

    chown  属主:属组  文件或目录


常用命令选项

-R:递归修改指定目录下所有文件、子目录的归属

 



-文件权限掩码的设置

Umask  可以设置新建文件、目录时的默认权限,(默认权限 = 现有默认权限 - 权限掩码)

Umask 查看当前权限掩码

Umask [权限掩码]