Linux用户与用户组、权限管理

用户管理:
  1、useradd 创建用户
    -c 指定用户描述
    -d 指定家目录,默认家目录/home下同名的目录
    -g 指定主组
    -G 指定附加组
      【一个用户主组只能有一个,而附加组可以有多个】
    -s 指定shell程序
      特殊:/sbin/nologin --> 不允许登录系统的用户
    -u 指定UID
    -m 不创建家目录

  2、userdel
    -r 带着家目录一块儿删


  3、usermod 修改
    -c -d -m(移动家目录) -g -G -s -u -o(允许UID相同,和-u一起使用)
    用法与useradd一样

  4、passwd
    -l 锁定密码
    -u 解锁
    -d 删除密码
    echo "密码" | passwd --stdin "用户名"

组管理:
  1、groupadd 创建组
    -g 修改组ID
    -o 允许重复

  2、groupdel 删除组
  
  3、groupmod
    -g
    -o
    -n 修改组名
    -p 指定组密码【如果一个文件属于这个用户的附加组,而你要访问这个文件,别人就可以为这个文件设置密码】

常用文件
  /etc/passwd
    uname:x:uid:gid:描述:家目录:shell程序
    超级用户-root
    系统用户 1-499 1-999 普通用户 500-65535 1000-65535
  /etc/shaddow
    uname:uid:密码:各种时间...
  /etc/group
    组:组密码:组ID:附加组
  /etc/gshadow

  /etc/skel 这个目录下的文件均会被复制到每一个普通用户的家目录中,一般用来做警告;
    cd /etc/skel
    ls -a 进行查看


用户权限:
  r 读 4 100
  w 写 2 010
  x 执行 1 001

acl的授权管理:
  通过权限管理,给指定用户添加指定权限;
  setfacl:添加权限
    setfacl -m u:用户名:添加的权限 文件 //文件一定要是该用户的文件
    setfacl -x u:用户名 文件 //取消文件

  getfacl
    查看acl添加到的权限

 

特殊权限:
  临时借权限;例:有A B两个用户分别输入AA组合BB组;A创建了一个用户a.txt,B默认情况下去访问a.txt使用other,但是想要越权,借用A的权限来访问a.txt,就需要将SUID位置改为1,;同时也可以,去借SGID的权限去访问这个文件;
  粘粘位作用:授权给一个目录,在该目录下所有用户只能删除自己的文件,别人不能删除自己的文件;--给目录文件授权的
  SUID
    chmod u+s 文件 //授予SUID的特殊权限
    如果属主权限有x 显示为s
    如果属主权限没有x 显示为S

  SGID
    chmod g+s 文件 //授予SGID的特殊权限
    如果属主权限有x 显示为s
    如果属主权限没有x 显示为S

  Sticky 粘粘位
    chmod o+t 文件 //授予粘粘位的特殊权限
    如果属主权限有x 显示为t
    如果属主权限没有x 显示为T


su授权
  /etc/sudoers //在这个文件里面去添加权限即可;
  su - / su
  su - / sudo

猜你喜欢

转载自www.cnblogs.com/4443056bdH/p/11420289.html