Linux服务器管理员操作

Posted by kevin on April 16, 2021

添加用户

由于每台服务器都需要连接到 NAS,而且可能很多用户在不同的服务器上都有账号,这样的话就会导致 uid 冲突(不同服务器上不同用户的 uid 可能是一样的),因此,针对不同情况需要用到不同添加用户的方法:

  1. 该用户为新同学,说明他之前在其他服务器上没有账号,因此,先在 NAS 上为他开一个账号确保 uid 唯一性,再根据这个 uid 去其他的服务器上进行开号
  2. 该用户在其他服务器上有账号,那就直接根据他的 uid 进行开号,无需再经过一遍 NAS

开号方式使用命令 useradd ,默认情况下直接 useradd user1 就可以了,用户目录为 /home/user1,但是考虑到服务器硬盘容量有限,最好将其划分到具有更大空间的目录如 /data,因此使用如下命令进行自定义添加用户

$ useradd -u [uid] -d /data/user1 -m -s /bin/bash user1
选项 含义
-u UID 手工指定用户的 UID,注意 UID 的范围(不要小于 500)。
-d 主目录 手工指定用户的主目录。主目录必须写绝对路径,而且如果需要手工指定主目录,则一定要注意权限;
-c 用户说明 手工指定/etc/passwd文件中各用户信息中第 5 个字段的描述性内容,可随意配置;
-g 组名 手工指定用户的初始组。一般以和用户名相同的组作为用户的初始组,在创建用户时会默认建立初始组。一旦手动指定,则系统将不会在创建此默认的初始组目录。
-G 组名 指定用户的附加组。我们把用户加入其他组,一般都使用附加组;
-s shell 手工指定用户的登录 Shell,默认是 /bin/bash;
-e 曰期 指定用户的失效曰期,格式为 “YYYY-MM-DD”。也就是 /etc/shadow 文件的第八个字段;
-o 允许创建的用户的 UID 相同。例如,执行 “useradd -u 0 -o usertest” 命令建立用户 usertest,它的 UID 和 root 用户的 UID 相同,都是 0;
-m 建立用户时强制建立用户的家目录。在建立系统用户时,该选项是默认的;
-r 创建系统用户,也就是 UID 在 1~499 之间,供系统程序使用的用户。由于系统用户主要用于运行系统所需服务的权限配置,因此系统用户的创建默认不会创建主目录。

表格引自 http://c.biancheng.net/view/844.html

更新 CUDA

先装 CUDA [下载地址],老版本的 CUDA 不用删掉,直接让管理员将 cuda 软连接到最新的 CUDA 就行了,以防有些代码需要低版本 CUDA

再装驱动 [驱动下载地址],安装过程会提示说检测到老版本驱动,直接卸载就行了

常用命令

命令 command
查看 GPU 使用状态 nvidia-smi 、 gpustat -i (需 pip install gpustat)
查看进程 top、htop、ps -ef | grep [pid]
查看服务器磁盘容量 df -h
查看自己占用服务器的容量 du -h
查看当前目录下文件个数 (不包含子目录) ls -l | grep “^-“ | wc -l

换源

pip 源

vim ~/.pip/pip.conf

[global]

index-url = https://pypi.doubanio.com/simple

trusted-host = pypi.doubanio.com

conda 源

vim ~.condarc

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

挂载 NAS

其实就是将 NAS 上的目录映射到本地一个目录,所以新建一个目录叫做 /NAS_REMOTE ,用 apt 先安装 nfs-utils ,再 sudo vim /etc/fstab 在最底下添加一行 (前面是被挂载的目录,后面是本地挂载目录)

172.31.233.218:/share/CACHEDEV1_DATA/Public /NAS_REMOTE nfs defaults 0 0

之后再运行 sudo mount -a ,就能将 NAS 挂载上,以后重启机器的话也要运行一下这个命令进行挂载

挂载其他服务器 https://cshihong.github.io/2018/10/16/NFS%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BA%E4%B8%8E%E9%85%8D%E7%BD%AE/

安全相关

  1. 除非有特殊需要,否则禁止普通用户的 docker 权限!
  2. 设置密码时不要太简单,应使用大小写字母加数字加特殊字符的组合
  3. 校外访问如需用到内网穿透服务(如 frp,ngork 等),配置连接时应使用加密协议