Linux:用户与用户组管理

  • 添加用户/用户组

场景:john的电脑丢了,想借你的电脑用几天,但是你的电脑里有一些私人文件不想让john看到,于是乎,你决定给john建立一个账号:

sudo useradd -m john ##新添加一个用户; 不带-m的 adduser 不会为用户建立自己的主目录,这样其登录图形界面时会出错
sudo passwd john ##更改john的登录密码

你可以通过给john的账号设置权限,从而防止私人文件外泄。
useradd ,groupadd

sudo useradd -g users mike ##建立命为mike的用户账号,并指定其属于users组;-g:指定用户所属用户组
sudo useradd -s /bin/bash mike ##创建名为mike的用户账号,并指定其登录后使用bash作为shell;-s 用于指定用户登录后所使用的Shell
sudo groupadd newgroup ##创建名为newgroup的组

history:读取用户的历史操作(仅能在bash中使用)
用户的历史操作都被保存在.bash_history文件中

history ##通过该命令,用户可以查看自己曾经的历史操作
history 10 ##仅列出最近10条历史记录

##root用户,可以通过进入某用户主目录,查看.bash_history文件,来查看该用户最近的操作历史
##比如,要查看John的操作历史
cd /home/john/
sudo cat .bash_history ##需要root权限,才能查看该文件

passwd 和 shadow 文件
在Linux中所做的基本配置最终都将反应到配置文件中,用户管理也不例外。
所有用户信息都登记在/etc/passwd文件中,而/etc/shadow文件则保留这用户的登录密码。
出了使用useradd , passwd 来 添加用户,也可以通过直接编写/etc/passwd ,/etc/shadow 来添加用户。
/etc/passwd 可以被任何用户访问,/etc/shadow 仅root用户可以访问。若要修改这2个文件,均需要root权限。

  • 删除用户
sudo userdel mike ##删除mike账号;默认情况下,userdel仅删除用户账户,不删除其主目录,除非使用-r
sudo userdel -r mike ##在删除mike账户的同时,删除其主目录
  • 管理用户账号:usermod
    -d:修改用户主目录
    -e:修改账号的有效期限
    -g:修改用户所属的组
    -l:修改用户账号名称
    -s:修改用户登录后使用的shell
sudo usermod -l mike -d /home/mike -e 12/31/13 john ##将john改名为mike,主目录改为/home/mike,账号有效期至 2013/12/31

和useradd的原理一样,usermod也可通过修改/etc/passwd,/etc/shadow,/etc/group 这3个文件来实现用户属性的设置

  • 查看用户信息:id

你可能感兴趣的:(linux,linux,bash,运维)