Linux用户权限管理

指令

  • 添加用户

    useradd -d /home/test test -m,创建用户test(自动生成目录),该用户属于test用户组

    useradd -d /home/a a -g test -m,创建用户a,属于test用户组

    -d:指定用户登录系统时的主目录

    -m:自动建立目录

    -g:指定组名称

  • 设置密码

    passwd test

  • 删除用户

    userdel test删除test用户,但并不删除/home/test

    userdel -r test删除test用户与其目录

  • 切换用户

    su

  • 查看当前用户组

    • cat /etc/group
    • groupmod+三次tab键
  • 组账号操作

    • 添加组:groupadd
    • 删除组:groupdel
    • 查看组:cat /etc/group
    • 修改用户所在组:usermod -g group_name user_name
  • 查看用户组成员

    groups group_name

  • 为新用户添加sudo权限

    sudo usermod -a -G adm user_name

    sudo usermod -a -G sudo user_name

实例:

linux环境下创建新用户在使用docker中会遇到permission denied的问题,这是由于docker启动守护进程的时候,会默认赋予docker用户组的成员读写unix socket的权限,因此,将新用户加入到docker用户组中,问题就可以解决了:

sudo usermod -a -G docker zjs

之后需要更新用户组newgrp docker

  • 修改文件权限

    • 字母法:chmod u/g/o/a +/-/= rwx file_name

      所有者 含义
      u user
      g group
      o other
      a all
      + - = 含义
      + 增加权限
      - 撤销权限
      = 设定权限
      r w x 含义
      r read
      w write
      x excute
    • 数字法:

      chomod 777 test/ -R -R表示级联授权

      777:所有者用户/组内其他用户/其他组用户 = rwx/rwx/rwx

  • 修改文件所有者

    chown user_name file_name

  • 修改文件所属组

  • chgrp group_name file_name

操作

添加用户赋予权限:

  • sudo vi /etc/sudoers
  • root ALL=(ALL) ALL下添加一行test ALL=(ALL) ALL