7. Linux用户管理

7.1用户管理 终端

提示: 创建用户/删除用户/修改其他用户密码的终端命令都需要用过sudo执行

创建用户/删除用户/修改密码

序号 命令 作用 说明
01 useradd -m -g 组 新建用户名 添加新用户 -m 自动建立用户家目录 -g 指定用户所在的组,否则会建立一个和同名的组
02 pssswd 用户名 设置用户密码 如果是普通用户,直接用psswd可以修改自己的账户密码
03 userdel -r 用户名 删除用户 -r 选项会自动删除用户家目录
04 cat/etc/passwd \ grep 用户名 确认用户信息 新建用户后,用户信息会保存在/etc/passwd文件中
wll@wll-virtual-machine:~$ sudo useradd -m -g dev zhulong
wll@wll-virtual-machine:~$ ls -l
total 44
drwxr-xr-x 4 wll wll 4096 11月  7 23:15 Desktop
drwxr-xr-x 2 wll wll 4096 11月  4 15:56 Documents
drwxr-xr-x 2 wll wll 4096 11月  4 15:56 Downloads
-rw-r--r-- 1 wll wll 8980 11月  4 15:51 examples.desktop
drwxr-xr-x 2 wll wll 4096 11月  4 15:56 Music
drwxr-xr-x 2 wll wll 4096 11月  4 15:56 Pictures
drwxr-xr-x 2 wll wll 4096 11月  4 15:56 Public
drwxr-xr-x 2 wll wll 4096 11月  4 15:56 Templates
drwxr-xr-x 2 wll wll 4096 11月  4 15:56 Videos
wll@wll-virtual-machine:~$ ls -l /home
total 8
drwxr-xr-x 16 wll     wll 4096 11月  4 21:01 wll
drwxr-xr-x  2 zhulong dev 4096 11月  8 15:12 zhulong
wll@wll-virtual-machine:~$ sudo passwd zhulong
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

提示:

  • 创建用户时,如果忘记添加 -m 选项指定新用户的家目录---最简单的方法就是删除用户,重新创建
  • 创建用户时,默认会创建一个和用户名同名的组名
  • 用户信息保存在etc/passwd文件中

7.2查看用户信息

序号 命令 作用
01 id[用户名] 查看用户UID和GID信息
02 who 查看当前所有登陆的用户列表
03 whoami 查看当前登陆用户的账户名

passwd文件

/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,分别是:
1.用户名
2.密码(x,表示加密的密码)
3.UID(用户标识)
4.GID(组标识)
5.用户全名或本地账号
6.家目录
7.登陆使用的Shell,就是登陆之后,使用的终端命令,ubuntu默认的是dash

wll@wll-virtual-machine:/$ id zhulong
uid=1001(zhulong) gid=1001(dev) groups=1001(dev)
wll@wll-virtual-machine:/$ cat -n /etc/passwd | grep zhulong
    42  zhulong:x:1001:1001::/home/zhulong:/bin/sh
wll@wll-virtual-machine:/$ id wll
uid=1000(wll) gid=1000(wll) groups=1000(wll),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
wll@wll-virtual-machine:/$ cat -n /etc/passwd | grep wll
    41  wll:x:1000:1000:wll,,,:/home/wll:/bin/bash

usermod

  • usermod 可以用来设置用户的主组/附加组和登陆Shell,命令格式如下:
  • 主组:通常在新建用户时指定,在etc/passwd的第4列GID对应的组
  • 附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限

提示:设置了用户的附加组之后,需要重新登陆才能生效

#修改用户的主组(passwd 中的GID)
usermod -g 组 用户名
 
#修改用户的附加组
usermod -G 组 用户名
 
#修改用户登陆Shell
usermod -s /bin/bash

注意:默认使用useradd添加的用户是没有权限使用sudo以root身份执行命令的,可以使用以下命令,将用户添加到sudo附加组中

usermod -G sudo 用户名

which(重要)

  • which命令可以查看执行命令所在的位置

提示:

  • /etc/passwd 是用于保存用户信息的文件
  • /usr/bin/passwd是用于修改用户密码的文件
wll@wll-virtual-machine:~$ which passwd
/usr/bin/passwd
wll@wll-virtual-machine:~$ ls -l /user/bin/passwd
ls: cannot access '/user/bin/passwd': No such file or directory
wll@wll-virtual-machine:~$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 59640 3月  23  2019 /usr/bin/passwd
wll@wll-virtual-machine:~$ which ls
/bin/ls
wll@wll-virtual-machine:~$ ls -l /bin/ls
-rwxr-xr-x 1 root root 133792 1月  18  2018 /bin/ls
wll@wll-virtual-machine:~$ which  useradd
/usr/sbin/useradd
wll@wll-virtual-machine:~$ ls -l /usr/sbin/useradd
-rwxr-xr-x 1 root root 126240 3月  23  2019 /usr/sbin/useradd

bin 和 sbin

  • 在Linux中,绝大多数可执行文件都保存在/bin,/sbin,/usr/bin,/usr/sbin
  • /bin(binary)是二进制执行文件目录,主要用于具体应用
  • /sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
  • /usr/bin (user commands for applications)后期安装一些软件
  • /usr/sbin (super user commands for applications)超级用户的一些管理程序

提示:

  • cd 这个终端命令是内置在系统内核中,没有独立的文件,因此用which无法找到

7.3 切换用户

序号 命令 作用 说明
01 su - 用户名 切换用户,并且切换目录 - 可以切换到用家目录,否则保持位置不变
02 exit 退出当前登陆账号
  • su不接用户名,可以切换到root,但不推荐使用,因为不安全

你可能感兴趣的:(7. Linux用户管理)