1.用户与组
①用户类型
| 用户类型 | UID | 范围 | 
| root | UID | 0 | 
| 系统用户 | UID | 1-499 | 
| 普通用户 | UID | 500以上 | 
--查询当前用户的id属性
   
②用户管理
| 相关路径 | 描述 | 
| /etc/passwd | 保存的用户信息 | 
| /etc/shadow | 保存的用户密码等 | 
| /etc/group | 保存的组信息 | 
| /etc/login.defs | 配置文件(属性限制,密码长度等) | 
| /etc/default/useradd | 默认useradd配置文件 | 
③用户创建
--新建用户:useradd 用户名(比如创建Ar用户:useradd Ar)
--创建zabbix用户:useradd -M -s /sbin/nologin zabbix(创建组:groupadd zabbix, 创建用户并加入组 useradd -M(不创建主目录) -s(不允许登录) /sbin/nologin -g zabbix(加入zabbix组) zabbix)
--删除用户:userdel 用户名(删除Ar用户:userdel Ar)
--修改用户密码:passwd 用户名(默认修改root密码:passwd,修改指定用户密码:passwd Ar)
--创建Ar用户同时修改密码:useradd -u 8000 Ar; echo 123456 | passwd --stdin Ar
  
--新建用户到指定的文件路径下:useradd -b /shelldome/ ar(创建ar账号保存到shelldome目录下,可通过vi /etc/passwd查看ar的存放地址)
   
-- 新建用户时指定uid:useradd -u 600 tt(创建用户tt并指定uid=600)
   
--切换登录用户:su 用户名(切换当前用户到Ar:su Ar)
--修改用户名:usermod -l 新用户名 旧用户名(将用户名tt修改为aa:tusermod -l aa tt),修改用户名原来以旧用户名创建的组名不变
 
   
--修改用户属组(组内授权-G):usermod -G [组1,组2....] 用户名(将aa用户属组修改为组D:usermod -G D aa)
--添加用户属组(组内授权-G):usermod -a -G [组1,组2.....] 用户名(向用户Ar添加属组D与B:usermod -a -G D,B Ar)
--创建Ar用户在原属组Tools上再附加组DB:useradd Ar -g Tools -G DB
--修改用户并指定新的目录,同时指定其登录的shell:usermod -d [新目录] -s [SHELL] 用户名(usermod -d /date/ -S /bin/sh Ar)
--用户的锁定与解锁:
usermod -L Ar
usermod -U Ar
--主要参数说明:
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的主目录,替换系统默认值/home/<用户名>
-D:变更预设值。
-e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.
-g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。默认值为/bin/bash。
-u:指定用户ID号。
--强制退出Ar用户:pkill -kill -t [TTY]
   
④组的创建与指定
--创建组:groupadd 组名(创建组D:groupadd D)
--创建组并且指定gid:groupadd -g 1000 D(创建组D并gid=1000)
--在创建新用户时会以用户名创建一个组
  
--删除组:groupdel 组名(删除组D:groupdel D)
--修改组名:groupmod -n 旧组名 新组名(将组D名改为B:groupmod -n D B)
--修改组gid:groupmod -g gid号 组名(将组D的gid修改为600:groupmod -g 600 D)
2.U - G - O理解
①.何为U-G-O:指目录或者文件的用户、组、其他用户
U:指目录或文件的属主,如图
      
G:指目录或者文件的属组,如图
     
O:表示除了当前文件的属主的其他用户
②.U - G - O在文件中的具体体现:
--UGO体现的是目录或者文件的当前具有的权限组合,如图
  
--参数解析:
(1).权限基于UGO进行设置,三位一组(即:rwx),如上图
      
--1:1表示文件类型,是目录还是文件,d表示目录,-表示文件
 
--2:2(U)表示用户权限,当前用户拥有rwx权限
--3:3(G)表示属组权限,当前组拥有的权限
--4:4(O)表示除了当前用户以外其他用户对当前目录或者文件所拥有的权限
--如果对应的文件不具有对应的权限则显示 -
     
3.chmod(目录文件的U-G-O权限授权)
①权限管理
| 操作 | 对文件的影响 | 对目录的影响 | 
| r(读取) | 可读取文件内容而不可操作修改或新增内容 | 可列出目录内容 | 
| w(写入) | 可写入或修改文件内容 | 可在目录中删除或创建内容 | 
| x(执行) | 可作为命令执行,可访问目录内容,同时目录必须拥有x权限,否则无法查看其内容 | 
②权限授权:默认三角色(user(U-用户)-group(G-属组)-othen(O-其他用户)),三位一组,权限基于UGO进行设置
③权限分类:
--777权限:完全可读可写可执行权限,为文件最高权限
--755权限:拥有者可读可写可执行,普通用户和组拥有可读可执行权限
--644权限:拥有者可读可写权限,普通用户和组只读权限
--775权限:授予组对目录拥有rwx权限
--555权限:授予用户、组、其他用户对目录只拥有rx权限
④目录授权:
--chmod -R 777 shelldome (为shelldome目录赋予文件最高权限,R表示对授权的目录下所有的文件目录做递归操作也进行授权)
--chmod -R 644 shelldome(为shellmode目录赋予最低权限)
⑤对目录文件进行U - G -O授权:
--chmod -R u+rwx onetoll.sh(授予用户对onetoll.sh文件的rwx权限)
  
--chmod -R g+w onetoll.sh(授予组对文件的w权限)
  
--chmod -R u+rwx,g+rwx,o+rwx onetoll.sh(授予用户、组、其他用户对onetoll.sh文件的rwx权限)
--chmod -R u-x,g-x,o-x onetoll.sh(减去用户、组、其他用户对onetoll.sh文件的x可执行权限)
--chmod -R u=rw,g=rw,o=rw onetoll.sh(授予用户、组、其他用户对文件onetoll.sh文件只有rw权限)
--#!授权目录与文件处于不同用户等级时候:比如onetoll.sh文件在shelldome目录下,shelldome的属主与属组都为root,onetoll.sh文件的属主与属组为aa,也可对onetoll.sh文件单独进行授权,授权只跟U-G-O绑定
4.chown(目录文件的属主与属组)
①chown:控制目录文件的属主与属组
②修改属主与属组:
--修改属主:chown -R 新属主:旧属组 目录文件(修改onetoll.sh文件的属主aa修改为root:chown -R root:tt onetoll.sh )
   
--修改属组::chown -R 旧属主:新属组 目录文件(修改onetoll.sh文件的属组tt修改为root:chown -R root:root onetoll.sh )
  
--修改属主与属组:chown aa: one.txt(当修改属主时,不指定属组,从而自动绑定到属主的属组)
  
--修改属组而不指定属主:chown :root one.txt(修改属组时不指定属主,对文件目录只修改其属组)
   
③授权指定目录给指定用户:chown -R U:G 目录
  
5.特殊权限说明
①chmod-rwx二进制权限,有权限为1,无权限为0
--rwx = 111 rwx = 111 = 4+2+1 = 7
--r-x = 101 转化为十进制 r-x = 101 = 4+0+1 = 5 即结果:r=4,w=2, x=1
--rw = 110 rw = 110 = 4+2+0= 6
--r-- = 100 r-- = 100 = 4+0+0= 4
②Liunx的特殊权限与掩码
--liunx下创建目录默认权限是755,创建文件默认的权限是644,这都来源与liunx下的umask属性,umask属性默认掩码为0022(root用户),在umask的属性下,创建目录的最高权限为777,文件的最高权限为666,为防止权限开放过大,所以设置了权限子掩码,在权限子掩码之后创建目录或者文件
即: 最高权限 - 子掩码 = 实际权限
对应的目录权限为:777-022 = 755
对于的文件权限是:666-022 = 644
--执行umask指令可查看当前默认的掩码
  
--临时设置umask反掩码,使创建的文件具有666权限: 先umask 0 再创建个文件
③Suid、sgid、sticky权限
| 权限 | 对文件的影响 | 对目录的影响 | 
| Suid | 以文件的属主身份执行,并非执行文件的用户 | 无 | 
| sgid | 以文件的属组执行 | 在该目录下新建的任意文件目录与该目录为同一属组 | 
| sticky | 无 | 对目录拥有写入权限的属主仅可以删除其拥有的文件,无权删除其他用户的文件 | 
--设置特殊权限的方法:
1).设置suid:chmod u+s shelldome SUID = 4
2).设置guid:chmod g+s shelldome 同等为 GUDI = 2
3).设置sticky:chmod o+t shelldome STICKY =1
--chmod 4755 shelldome 对shelldome目录授予特殊权限“s”,liunx下的s应用包括:su、passwd、sudu
   
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号