用户管理

useradd passwd userdel usermod chmod chown .bashrc .bash_profile

1 用户管理

添加用户,为用户创建相应的帐号和用户目录/home/username;

1
$useradd -m username

用户添加之后,设置密码,密码以交互方式创建:

1
$passwd username

删除用户

1
$userdel -r username

不带选项使用 userdel,只会删除用户。用户的家目录将仍会在/home目录下。要完全的删除用户信息,使用-r选项;

帐号切换 登录帐号为userA用户状态下,切换到userB用户帐号工作:

1
$su userB

进入交互模型,输入密码授权进入;

2 用户组管理

将用户加入到组
默认情况下,添加用户操作也会相应的增加一个同名的组,用户属于同名组; 查看当前用户所属的组:

1
$groups

一个用户可以属于多个组,将用户加入到组:

1
$usermod -G groupNmame username

变更用户所属的根组(将用户加入到新的组,并从原有的组中除去):

1
$usermod -g groupName username

查看系统所有组,系统的所有用户及所有组信息分别记录在两个文件中:/etc/passwd , /etc/group 默认情况下这两个文件对所有用户可读。查看所有用户及权限:

1
$more /etc/passwd

查看所有的用户组及权限:

1
$more /etc/group

3 环境变量

bashrc & profile

bashrc与profile都用于保存用户的环境信息,bashrc用于交互式non-loginshell,而profile用于交互式login shell。

1
2
/etc/profile,/etc/bashrc 是系统全局环境变量设定
~/.profile,~/.bashrc用户目录下的私有环境变量设定

login过程

当登入系统获得一个shell进程时,其读取环境设置脚本分为三步:

  • 首先读入的是全局环境变量设置文件/etc/profile,然后根据其内容读取额外的文档,如/etc/profile.d和/etc/inputrc
  • 读取当前登录用户Home目录下的文件/.bash_profile,其次读取/.bash_login,最后读取~/.profile,这三个文档设定基本上是一样的,读取有优先关系
  • 读取~/.bashrc。

/.profile与/.bashrc的区别

这两者都具有个性化定制功能

  • ~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次
  • ~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次

例如,我们可以在这些环境变量中设置自己经常进入的文件路径,以及命令的快捷方式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
.bashrc
alias m='more'
alias cp='cp -i'
alias mv='mv -i'
alias ll='ls -l'
alias lsl='ls -lrt'
alias lm='ls -al|more'

log=/opt/applog/common_dir
unit=/opt/app/unittest/common

.bash_profile
. /opt/app/tuxapp/openav/config/setenv.prod.sh.linux
export PS1='$PWD#'

通过上述设置,我们进入log目录就只需要输入cd $log即可;