注:创建用户/删除用户/修改其他用户密码的终端命令都需要使用sudo执行。
一:创建用户
useradd -m -g 组 新建用户名 : 添加新用户
-m :自动创建用户家目录
-g : 指定用户所在的组,否则会创建一个同名的组
passwd 用户名 : 设置用户密码
如果是普通用户,直接用 passwd可以修改自己的账户密码。
userdel -r 用户名 : 删除用户
cat /etc/passwd | grep 用户名 : 确认用户信息
提示:
1:创建用户时,如果忘记添加-m选项指定新用户的家目录,最简单的方法是删除用户,重新创建。
2:创建用户时,默认会创建一个和用户名同名的组名
3:用户的信息保存在/etc/passwd
中
案例:
1:创建一个用户,张三,张三属于开发组dev
2: 使用ls -l /home
列出所有用户信息。
3:指定张三用户的密码:123456(注意使用sudo)
新建用户的时候如果不使用-m会出现什么情况??
答:在/home中不会出现新建用户的家目录。如果忘记使用-m则最简单的是删除用户,重新创建。
4:查看张三的信息,然后删除用户张三
二:查看用户信息
id [用户名] : 查看用户的UID和GID信息
who : 查看当前所有登录的用户列表
whoami : 查看当前登录用户的账号名
passwd文件:
/etc.passwd
文件存放的是用户的信息,由6个分号组成的7个信息,分别是:
1 : 用户名
2 : 密码(x表示加密的密码)
3 : UID (用户标识)
4 : GID (组标识)
5 : 用户全名或本地账号
6 : 家目录
7 : 登录使用的shell,就是登录之后使用的终端命令:ubuntu默认是dash
案例:
1: 查看renshanwen用户的UID和GID
2: 查看/etc/passwd里面关于renshanwen的内容
3:查看/etc/group,里面关于renshanwen的内容
案例:查看当前登录的所有用户,显示用户的账户名。
三:usermod来设置用户的主组和附加组。
主组:通常在新建用户时指定,在etc/passwd第4列GID对应的组。
附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限。
例如:
groups = 1000(renshanwen)指的是主组
后面的就是指的是附加组。
修改用户的主组:
usermod -g 组 用户名
修改用户的附加组
usermod -G 组 用户名
修改用户登录 Shell
usermod -s /bin/bash
案例:
1:查看张三的主组和附加组
2:给张三增加sudo的使用权限,查看组的所有信息
四:使用which查看用户所在的位置。
提示:
/etc/passwd
是用于保存用户信息的文件
/usr/bin/passwd
是用于修改用户密码的程序
五:bin和sbin
在linux中,大多数可执行文件都是保存在/bin, /sbin, /usr/bin, /usr/sbin
/bin 是二进制执行文件目录,主要用于具体应用
/sbin 是系统管理员专用的二进制代码存放目录,主要用于系统管理
/usr/bin 后期安装的一些软甲
/usr/sbin 超级用户的一些管理程序
六:切换用户:
su - 用户名 ;切换用户,并且切换目录
exit 退出当前登录账户
例如:从A身份切换到B用户身份,使用命令,如果退出则从B身份退回到A身份。如果A身份再退出,则退出shell。
注意:su - 不接用户名 :可以切换到root身份
七:修改文件权限
chown 修改拥有者
chgrp 修改组
chmod 修改权限
1 : 修改文件/目录的拥有者
chown 用户名 文件名|目录名
2:递归修改文件|目录的组
chgrp -R 组名 文件名|目录名
3:递归修改文件权限
chmod -R 755 文件名| 目录名
序号与下图一一对应
案例:修改文件拥有者,递归修改文件组,递归修改文件权限。
chmod的数字表示法:
第一个数字 :拥有者权限
第二个数字 :组权限
第三个数字 :其他用户权限
chmod演练:
1:将01.py的权限修改为 u=rwx,g=rx,o=r
2: 123.txt的权限修改为u=rw,g=r,o=-
3: test目录以及目录下的所有文件权限修改为u=rw,g=r,o=r