开发工程中需要申请服务器资源进行开发,对于申请的服务器还是需要进行一些处理之后才能够完全投入使用的。

创建普通用户

公司一般为了节省资源,会让多个开发人员共用一台开发机器,每个用户都是普通用户,而不是自己的服务器或者虚拟机一样的root用户。 而且使用普通用户登录和操作开发机器还可以保证系统的安全性。所以日常开发也应该尽量避免使用root用户。

创建用户的命令如下:

useradd smarticen #创建smarticen用户
passwd smarticen #修改smarticen的密码

输入密码并确认后用户和其密码都设置好了。接下来便是提权了。

添加sudoers

在很多时候普通用户也需要用到Root用户的一些权限,但是Root用户的密码是由系统管理员维护并定期修改的,每次询问密码时很麻烦的事。

将普通用户加入到sudoers中,普通用户就可以通过sudo命令暂时获得Root权限。可以使用下列命令加入:

sed -i '/^root.*ALL=(ALL).*ALL/a\smarticen\tALL=(ALL) \tALL' /etc/sudoers

当用户执行的sudo的时候,系统会查找/etc/sudoers文件,判断用户是否具有执行sudo的权限,如果有的话,用户输入自己的密码即可获取root权限。

上面命令的意思就是,在/etc/sudoers文件中查找匹配/^root.*ALL=(ALL).*ALL/模式的行,a\表示在这个行下插入文本,也就是插入smarticen\tALL=(ALL) \tALL行。选项-i表示直接修改文件内容。

使用新的用户名和密码登录

直接输入用户名和密码登录即可,也可以验证用户是否创建成功

配置$HOME/.bashrc文件

非Root用户登录会直接进入/home/username目录下,这个目录也叫做用户的家目录。 通过修改家目录下的.bashrc可以让用户的shell更加易用。

比如解决中文乱码,配置PS1避免整行都是文件路径,将$HOME/bin加入PATH路径下,这样用户可以直接命令使用自己在此目录下添加的命令。.bashrc文件内容如下:

# .bashrc
# 用户可以根据习惯自己为常用命令取别名,方便使用
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
 
# Source global definitions
# /etc/bashrc文件存在,则使其中的定义生效i
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
 
# User specific environment
# Basic envs
export LANG="en_US.UTF-8" # 设置系统语言为 en_US.UTF-8,避免终端出现中文乱码
export PS1='[\u@dev \W]\$ ' # 默认的 PS1 设置会展示全部的路径,为了防止过长,这里只展示:"用户名@dev 最后的目录名"
export WORKSPACE="$HOME/workspace" # 设置工作目录
export PATH=$HOME/bin:$PATH # 将 $HOME/bin 目录加入到 PATH 变量中
 
# Default entry folder
cd $WORKSPACE # 登录系统,默认进入 workspace 目录

这里设置了一个工作目录,并且用户登录自动进入工作目录,所有的工作在这里展开。好处如下:

  1. 目录结构清晰,方便管理。
  2. 如果某天/分区不足,可以直接将整个目录mv到另一个分区,在原分区保留软链接即可。
  3. 可以直接通过备份workspace备份所有工作文件。

通过mkdir -p $HOME/workspace创建工作目录后,Linux开发机的环境就算配置好了。

安装软件后即可使用。通常先安装如下依赖:

$ sudo yum -y install make autoconf automake cmake perl-CPAN libcurl-devel libtool gcc gcc-c++ glibc-headers zlib-devel git-lfs telnet ctags lrzsz jq expat-devel openssl-devel