[Tips] 终端10X工作法

此篇文章转载legendtkl的博客终端10X工作法,我一直很喜欢terminal使用中带来的一些小tricks,这篇文章刚好列举了一些代表性的,之后我会在这篇文章的基础上,将我比较常用的记录并放到顶部,也算是方便查找。

另外也非常感谢legendtkl的文章合抱之木,生于毫末,也算是我开始写博客的原因之一。

以下为正文内容。

阅读更多

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

[NOTE] Linux防火墙

CentOS firewalld

Firewalld is installed on CentOS 7 as default. Here comes some operations of it.

  • Check firewall status: sudo firewall-cmd --state
  • Disable firewalld: sudo systemctl disable firewalld(禁止开机启动)
  • Stop firewalld: sudo systemctl stop firewalld

Ubuntu 18.04 ufw

  • check a current firewall status:sudo ufw status
  • for more verbose:sudo ufw status verbose
  • enable firewall:sudo ufw enable
  • disable firewall:sudo ufw disable

基操:

  • sudo ufw default deny incoming
  • sudo ufw default allow outgoing
  • sudo ufw allow ssh or sudo ufw allow 22
  • sudo ufw allow 2222
  • sudo ufw allow http or sudo ufw allow 80
  • sudo ufw allow https or sudo ufw allow 443
  • sudo ufw allow 6000:6003/tcp
  • sudo ufw allow 6000:6003/udp
class="tag is-grey-lightest">2
algorithm1
backup1
database3
docker2
frp1
golang6
hadoop5
https1
hugo2
leetcode1
linux3
python1
shell3
ssh1