阅读背景:

linux-shell脚本基础-2

来源:互联网 

1,用户组

添加用户

useradd
    -u   UID
    -o   
    -g  指定 GID或组名
    -c   注释信息
    -d  家目录
    -s  shell  
    -G  附加组
    -r  系统用户
    -m  家目录,系统用户
    -M  不创建家目录,非系统用户
      newusers file : 批量创建用户,需要事先准备好跟passwd格式一样的文件  
      chpasswd : 批量修改用户口令,文件格式:用户名:口令
    
    passwd    
             -l : 锁定指定的用户
            -u : 解锁指定的用户
            -e :强制用户下次登录时修改密码   
    
 usermod
    -u UID
    -g  GID
    -G  新附加组   -a 
    -d  HOME
    -l  新家目录
    -U   解锁
    -L   锁定
    -e   YYYY-MM-DD: 指明用户账号过期日期
    --f INACTIVE: 设定非活动期限
     -d DIR : 修改家目录
     -m : 配合-d,修改并且移动数据到新的家目录
    userdel  
        -r   删除用户家目录
       
 id [OPTION]... [USER]
 -n: 显示名称,需配合ugG使用
 -G: 显示用户所属的组的ID
 -u UID
 -g GID


切换用户方式
    su  :非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
    su  -    :登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
    
    
  change  修改密码策略
  -d LAST_DAY
  -E --expiredate EXPIRE_DATE
  -I --inactive INACTIVE
  -m --mindays MIN_DAYS
  -M --maxdays MAX_DAYS
  -W --warndays WARN_DAYS
  
 chage -d 0 tom 下一次登录强制重设密码
 chage -m 0 –M 42 –W 14 –I 7 tom
 chage -E 2016-09-10 tom
 
   
  groupadd
  -g  GID
  -r   系统组
   
   groupmod   [option]    GROUP
            -n group_name : 修改组名
            -g GID : 修改GID  
           
   
  修改文件属性
  chown    -R     递归
  
  umask   
  可以用来保留在创建文件权限
  新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1
  新建目录的默认权限: 777-umask
  非特权用户umask是 002
  root的umask 是 022
  
   
   对于文件的权限:
    r : 查看 
    w : 修改
    x : 运行

    对于目录的权限:
    r : 查看目录内文件列表
    w : 创建和删除文件(需要x权限)
    x : cd进目录
   
   
  特殊权限
  SUID
  SGID
  默认情况下,用户创建文件时,其属组为此用户所属的主组
  一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组
      
  Sticky 位
  具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
  在目录设置Sticky 位,只有文件的所有者或root可以删除该文件
  SUID: user,占据属主的执行权限位
  s:属主拥有x权限
  S:属主没有x权限
  SGID: group,占据属组的执行权限位
  s: group拥有x权限
  S:group没有x权限
  Sticky: other,占据other的执行权限位
  t:other拥有x权限
  T:other没有x权限
  
  文件特殊属性
  
  chattr +i 不能删除,改名,更改
  chattr +a 只能追加内容  
  lsattr 显示特定属性
   
     
     
 acl 访问控制列表
 
 ACL:Access Control List,实现灵活的权限管理
 CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
 CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加
 tune2fs –o acl /dev/sdb1
 mount –o acl /dev/sdb1 /mnt/test
 
 ACL生效顺序:所有者>(自定义用户>所属组,自定义组)>其他人
    括号外的用户不收mask影响
 mount -o acl /directory
 getfacl file |directory
 setfacl -m u:wang:rwx file|directory
 setfacl -Rm g:sales:rwX directory
 setfacl -M file.acl file|directory
 setfacl -m g:salesgroup:rw file| directory
 setfacl -m d:u:wang:rx directory
 setfacl -x u:wang file |directory
 setfacl -X file.acl directory
 
 通过ACL赋予目录默认x权限,目录内文件也不会继承x权限
 base ACL 不能删除
 setfacl -k dir 删除默认ACL权限
 setfacl –b file1清除所有ACL权限
 getfacl file1 | setfacl --set-file=- file2 复制file1的acl权限给file2
 mask只影响除所有者和other的之外的人和组的最大权限
 Mask需要与用户的权限进行逻辑与运算后,才能变成有限的权限(EffectivePermission)
 用户或组的设置必须存在于mask权限设定范围内才会生效
  setfacl -mmask::rx file
  
  --set选项会把原有的ACL项都删除,用新的替代,需要注意的是一定要包含UGO的设置,不能象-m一样只是添加ACL就可以
  
  
 XFS文件系统默认支持ACL,其他低级的需要文件系统支持后,挂载时指定
添加用户

useradd
    -u   UID
    -o   
   



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: