1、用户和用户组:
root
是linux管理员
,也称为超级用户
bd
是linux的普通用户
,在Ubuntu中root被锁定
,需要使用时使用sudo来提权
。
sudo命令
表示改命令需要借助root超级管理员
的权限。
这里clem
是主机名,相当于win上的计算机名
#
是超级用户的提示符,$
是普通用户的提示符。
系统需要有用户和用户组用来管理文件权限和资源的
。
2、用户和用户组之间的关系:
多对多
,也就是每个用户可以加入到多个组里面,每个用户组里面也可以有多位用户成员。
3、用户、用户组和权限之间的联系:
如果要批量
给予权限给到多个用户,那么就可以是以某个用户的身份进行创建组,让这个组有相关的文件或文件夹权限,然后把别的用户添加进行,那么他们也都有了这些权限。
4、主组和附加组的概念:
主组是每个用户在被创建出来时自带的一个用户组(组的名字就是用户名),附加组是用户加入到别的组里面去时,那个组就是这个用户的附加组了。
5、用户的身份标识是:
UID(uid)
;用户组是:GID(gid)
6、用户和用户组的相关文件查看:
用户基本信息相关文件:
/etc/passwd
查看命令:
sudo cat /etc/passwd 或者sudo vim /etc/passwd
vim
直接进入文件内部进行编辑。
bd:x:1000:1000:Bd:/home/bd:/bin/bash
用户名:密码(隐藏):UID:GID:主组名:配置文件路径:此用户可用的shell(操控linux的外壳语言)的版本
- 用户组基本信息相关文件:/etc/group
sudo:x:27:bd
组名:密码:GID:组内成员
7、添加用户
-
7.1添加一个新用户
sudo useradd -m username
-m
:自动建立用户的登录目录(该目录的家目录,名字就会用户名本身)-u UID
:指定UID
,这个UID必须是>=500
,并没有被其他用户占用
的UID-g GID/GROUPNAME
:指定默认组,可以是GID或着GROUPNAME
,同样也必须真实存在-G GROUPZS
:指定额外组-c COMMENT
:指定用户的注释信息-d PATH
:指定用户的家目录 7.2设置或修改用户密码
sudo passwd 用户名
如果没有提供用户名,默认设置或修改root用户的密码
注意:创建新用户,不会自带操控linux系统的外壳bash语言,所以很多正常的界面显示和功能没有,需要通过命令修改用户配置文件给新用户设置bash语言。
注意:新用户是没有权限的,不能通过命令修改用户配置文件给新用户设置bash语言。必须使用旧用户有权限的进行设置。
- 7.3 进入设置新用户bash语言命令处理器
sudo vim /etc/passwd
进入用户配置文件。
sudo user add -m username #添加新用户
sudo passwd username #设置密码
//切换用户后只显示$无用户信息
bd@clem:/home$ su zdd
Password:
$
sudo vim /etc/passwd
#进入用户配置文件找到新用户。
#鼠标移动路径设置,输入 i 进入编辑模式。
#补全路径/bin/bash
//zdd:x:1001:1001::/home/zdd:/bin/sh
//zdd:x:1001:1001::/home/zdd:/bin/bash
#esc退出编辑模式,输入:wq回车保存退出
#切换用户后
bd@clem:/home$ su zdd
Password:
zdd@clem:/home$
//两个用户bd和zdd
zdd@clem:/home$ ls
bd p1.txt text.txt zdd
zdd@clem:/home$
切换用户
su 用户名
删除用户
sudo userdel -r 用户名
强制删除
sudo userdel -rf 用户名
bd@clem:/home$ sudo userdel -r zdd
[sudo] password for bd:
#提示用户zdd被进程1566占用,删除失败
userdel: user zdd is currently used by process 1566
bd@clem:/home$
bd@clem:/home$ sudo userdel -rf zdd
#删除成功
userdel: user zdd is currently used by process 1566
userdel: zdd mail spool (/var/mail/zdd) not found
#列表中已经没有zdd用户了
bd@clem:/home$ ls
bd p1.txt text.txt
bd@clem:/home$
8、创建用户组
-
groups 用户名
查看当前登录用户的所有组及组内成员
#查看当前用户的组及组内成员
bd@clem:/home$ groups bd
bd : bd adm cdrom sudo dip plugdev lxd
#id号信息
bd@clem:/home$ id bd
uid=1000(bd) gid=1000(bd) groups=1000(bd),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lxd)
bd@clem:/home$
- 8.1创建用户组
sudo groupadd groupname
//创建用户组,一次只能创建一个
bd@clem:/home$ sudo groupadd x1
bd@clem:/home$ sudo groupadd x2
bd@clem:/home$ sudo groupadd x3
查看创建的用户组
bd@clem:/home$ sudo vim /etc/group
//x1:x:1001:
//x2:x:1002:
//x3:x:1003:
- 8.2组中添加用户
sudo gpasswd -M 用户1,用户2,用户3.... 组名
bd@clem:/home$ groups bd
bd : bd adm cdrom sudo dip plugdev lxd
#添加用户bd添加x1
bd@clem:/home$ sudo gpasswd -M bd x1
bd@clem:/home$ groups bd
bd : bd adm cdrom sudo dip plugdev lxd x1
bd@clem:/home$
- 8.3 修改用户组
sudo usermod [options] 用户
这里是清空后修改新的组-c<备注> 修改用户帐号的备注文字
-d<登入目录>修改用户登入时的目录
-g<群组> 修改用户所属的群组(修改主组)
-G<群组> 修改用户所属的附加群组(修改附属组)
-l<账号名称> 修改用户账号名称
-L 锁定用户密码,使密码无效
-s<shell> 修改用户登入后使用的shell
-u<uid> 修改用户ID
-
id 用户名
``
id zdd
uid=1001(zdd) gid=1004(zdd) groups=1004(zdd),1001(x1)
#修改zdd用户组x1到x2
sudo usermod -G x2 zdd
id zdd
uid=1001(zdd) gid=1004(zdd) groups=1004(zdd),1002(x2)
bd@clem:/home$
8.4 新组名
sudo groupadd -g id号
8.5 切换不同用户组
newgrp 用户组名
在不切换用户的同时可以进入到其他组里面而去执行操作
bd@clem:/home$ ls -l
total 8
drwxr-xr-x 9 bd bd 4096 Feb 16 19:15 bd
-rw-r--r-- 1 root root 0 Feb 16 19:04 p1.txt
-rw-r--r-- 1 root root 0 Feb 15 21:04 text.txt
drwxr-xr-x 2 zdd zdd 4096 Feb 19 18:57 zdd
#切换到x2组
sudo newgrp x2
创建文件
touch b.py
//拥有b.py文件的用户是root,组是x2,此文件是x2组内的文件
root@clem:/home# ls -l
total 8
drwxr-xr-x 9 bd bd 4096 Feb 16 19:15 bd
-rw-r--r-- 1 root x2 0 Feb 19 19:56 b.py
-rw-r--r-- 1 root root 0 Feb 16 19:04 p1.txt
- 8.6 删除用户组
sudo groupdel groupname
9 组对文件的权限
drwxr-xr-x 9 bd bd 4096 Feb 16 19:15 bd
-rw-r--r-- 1 root x2 0 Feb 19 19:56 b.py
-rw-r--r-- 1 root root 0 Feb 16 19:04 p1.txt
9.1 -rwxr-xr-x
这10个字符确定了文件的类型和用户对文件的权限。
第一个字符代表文件类型后面9位3位
为一组(rwx)
-
第1列表示文件类型:
-
-
表示普通文件 -
d
表示文件夹目录 -
l
表示软链接
-
第2列(
第2个字符-第9个字符
)文件权限(r可读 w可写 x可执行
)
第一组是
u所有者(用户)
的权限:rwx
代表文件所有者root用户
的读、写、执行
权限。第二组是
g所属组
的权限,r-x
代表与文件所有者在同一组的用户
有读和执行权限。第三组是
o其他人
的权限,r-x
代表其他用户
有读和执行权限。第3列
硬链接个数
,文件夹表示引用计数,即..加上里面的目录个数。第4列表示
文件的所有者
,文件属于那个用户。第5列表示文件
所属的组
第6列
文件大小
,文件夹表示文件夹的大小
,不是文件夹的总大小,单位默认是kb
第7列表示
文件的修改时间
第8列表示
文件名或目录名
在linux中文件有3种属性,可读、可写、可执行。每个文件都有自己的属主,每个用户有自己的用户组,这样文件权限就有属主权限,同组用户权限和不同组用户权限。
linux中通过符号表示权限,还可以通过数字表示权限。r对应4,w对应2,x对应1。rwx表示7。0没有任何权限。
10、权限操作
对拥有某个文件的用户和用户组以及其他人
对这个文件的权限
可以通过chmod
命令进行修改设置。
有两种模式可以去修改权限:
1、符号模式;
2、绝对模式(数字模式)。
10.1 、符号模式
命令使用格式:
chmod 【谁】 【操作符号】 【权限】 文件名
1、给谁(用户或用户组)进行添加或删除权限:
u
:表示【所拥有者(用户)】;
g
:表示【当前用户组】;
o
:表示【其他用户或用户组】。
a
:表示【所有人】。
2、权限操作符号:干什么
+
:表示【添加】权限;
-
:表示【删除】权限;
=
:表示【设定】权限。
3、权限的代表符号:什么样的权限
r
:表示【可读】权限;
w
:表示【可写】权限;
x
:表示【可执行】权限。
10.2、绝对模式(数字模式):
命令使用格式:
chmod 数字数字数字 文件路径
1、三个数字的【位置】的含义:
第一个数字
:表示给拥有者(用户)
干点什么;
第二个数字
:表示给当前用户组
干点什么;
第三个数字
:表示给其他用户或用户组
干点什么。
2、具体数字的权限:
0
:无任何权限;
1
:只有【x】可执行
;
2
:只有【w】可写
;
3
:有可写和可执行【wx】
;
4
:只有【r可读】
;
5
:有可读和可执行【rx
】;
6
:有可读和可写【rw
】;
7
:有【所有权限rwx
】。
修改之前
bd@clem:/home$ ls -l
-rw-r--r-- 1 root x2 0 Feb 19 19:56 b.py
给/home内部的b.py文件的拥有者删除可编辑权限,所在组添加一个可编辑的权限
sudo chmod u-w,g+w /home/b.py
//修改之后的可以看到前十个字符的变化
-r--rw-r-- 1 root x2 0 Feb 19 19:56 b.py
给/home 内部的b.py文件的拥有者添加可编辑权限,所在组删除一个可编辑的权限
sudo chmod 644 /home/b.py
-rw-r--r-- 1 root x2 0 Feb 19 19:56 b.py
对应用户增减制定权限
chmod u+x py.txt
直接用数字来制定权限
chmod 640 py.txt
改变属主
chown -R 用户:用户组(可写参数) test.txt
-R参数主要是用来显示过程可以不写
-rw-r--r-- 1 root bd 0 Feb 19 19:56 b.py
//把b.py的拥有者root改为bd,用户组bd改为x2
sudo chown -R bd:x2 b.py
//修改 拥有者bd 组x2
-rw-r--r-- 1 bd x2 0 Feb 19 19:56 b.py
- 改变用户组
chgrp root /tmp/vi.txt
将b.py所在组x2改为bd
sudo chgrp bd b.py
-rw-r--r-- 1 root bd 0 Feb 19 19:56 b.py
2、Ubuntu中软件管理工具apt
- 安装软件
sudo apt install -y 软件包名
参数-y用来将下载时的详细信息列举出来
- 删除软件
sudo apt remove -y 软件包名
(只删除安装的文件,不删除配置文件)
sudo apt --purge remove -y 软件包名
(彻底删除软件)
- 软件更新
sudo apt -y update #更新源
sudo dpkg -- conningure -a
sudo apt -y upgrade #更新已安装的包
sudo dpkg -y dist-upgrade #升级系统
sudo dpkg -- conningure -a
sudo dpkg -- conningure -a