1.怎样分析linux的源码性能指标
2.linuxä¸å
³äºadbå½ä»¤çä¸äºç¥è¯
3.scoop install dark安装失败?
4.linux系统管理命令shutdown源码linux系统管理命令
5.linuxlocate
怎样分析linux的性能指标
LR
监控
UNIX/Linux
系统方法
一、准备工作:
1.
可以通过两种方法验证服务器上是源码否配置
rstatd
守护程序:
①使用
rup
命令,它用于报告计算机的源码各种统计信息,其中就包括
rstatd
的源码配置信息。使用命
令
rup
...,源码
此处
...
是要监视的
linux/Unix
服务器的
IP
,如果该命令返回相关的源码小马红包助手源码
统计信息。则表示已经配置并且激活了
rstatd
守护进程;若未返回有意义的源码统计信息,或者出现一
条错误报告,源码则表示
rstatd
守护进程尚未被配置或有问题。源码
②使用
find
命令
#find / -name rpc.rstatd,源码
该命令用于查找系统中是否存在
rpc.rstatd
文件,如果没有,源码说明系统没
有安装
rstatd
守护程序。源码
2
.
linux
需要下载
3
个包:
(
1
)
rpc.rstatd-4.0.1.tar.gz
(
2
)
rsh-0.-.i.rpm
(
3
)
rsh-server-0.-.i.rpm
3
.下载并安装
rstatd
如果服务器上没有安装
rstatd
程序(一般来说
LINUX
都没有安装)
,源码需要下载一个包才有这个服
务
,源码
包
名
字
是
rpc.rstatd-4.0.1.tar.gz.
这
是
一
个
源
码
,
需
要
编
译
,
下
载
并
安
装
rstatd
(
可
以
在
.uc.test
ç»ç«¯ä¸çæ§è¡ç»æ为:
é¤äºä¸é¢è¿ç§æ¹æ³ï¼æ们è¿æå¦å¤ä¸ä¸ªå½ä»¤ï¼
adb -s uninstall [options]
è¿éçoptionsæ¯-kï¼å ä¸è¯¥åæ°è¡¨æå¸è½½è½¯ä»¶åä¾æ§ä¿çç¨æ·æ°æ®
5) å°æ°æ®ä»è®¾å¤å¤å¶å°PCä¸
adb -s pull
eg:
adb -s eba9 pull /sdcard/stericson-ls D://
ç»ç«¯çæ§è¡ç»æï¼
å¨Dï¼//çä¸æ们ä¹å¯ä»¥åç°stericson-lsæ件
6) 讲æ°æ®ä»PC端å¤å¶å°è®¾å¤ä¸
adb -s push
eg:
adb -s eba9 push d://stericson-ls /sdcard/
ç»ç«¯çæ§è¡ç»æï¼
7) è·åè¿æ¥å°çææºçåºåå·
adb get-serialno
ç»ç«¯çæ§è¡ç»æï¼
8)è·å设å¤çè¿æ¥ç¶æ
adb -s get-state
eg:
adb -s eba9 get-stat
ç»ç«¯çæ§è¡ç»æï¼
9) çå¾ è®¾å¤è¿æ¥æå
adb wait-for-device
该å½ä»¤å°ä¼é»å¡ä¸ç´å°é»è®¤è¿æ¥çé£é¨æºå¨ç¶æå为deviceï¼ä¹å°±æ¯è¿æ¥æåã
) adb-server çå¼å¯ä¸å ³é
adb kill-server
adb start-server
ç»ç«¯çæ§è¡ç»æï¼
ææ¶åæ们å¼å¯serverä¼å¤±è´¥ï¼è¿æ¯å 为æä»¬è£ äºçææºå©æï¼è±è±èæè å ¶ä»è½¯ä»¶èªå¸¦æèªå·±çadbï¼å¯¼è´ç«¯å£å²çªå¼å¯å¤±è´¥ã主è¦å ³æé£äºè½¯ä»¶å¹¶ä¸ææé£äºè½¯ä»¶èªå¸¦çadbè¿ç¨éæ¥å³å¯ã
1.2 ææºæ§è¡Shellå½ä»¤
ä¼æå¨ç¥ï¼Androidçå æ ¸æ¬èº«å°±æ¯Linuxï¼æ以Androidæ¬èº«ä¹æ¯æLinuxå½ä»¤ï¼ä½æ¯å 为æ¯ææºç³»ç»ï¼æ以è¿è¡äºä¸å®çå åï¼é¨åå½ä»¤ä¸æ¯æï¼èä¸æ¯æçé¨åï¼æ们å¯ä»¥éè¿å®è£ busyboxè¿ä¸ªè½¯ä»¶è¿è¡
å¡«è¡¥ã
ä¸é¢æ们讲解ä¸å¦ä½å¨ææºä¸æ§è¡Shellå½ä»¤ï¼
1) æ¯æ¬¡é½å ä¸adb shellæ¥è¿è¡å½ä»¤çåéä¸æ§è¡
adb shell
2) å éè¿adb shellè¿å ¥ææºShellæ§è¡ç¶æï¼ç¶åç´æ¥è¾å ¥Linuxå½ä»¤ï¼å¦å¾ï¼
ãã
1.3 Activity Manager 常ç¨å½ä»¤ä¸åæ°è¯´æ
ä¸è¬æ åµä¸ï¼æ们æ常ç¨å®æ¥è¿è¡appçå¼å¯ï¼å¹¶ä¸ä¼ éä¸å®çåæ°è¿å»,æ¯å¦ï¼
adb shell am start -a android.intent.action.VIEW -n cn.uc.test/.MainActivity -d
å¨è¿éå°±ä¸å太è¿è¯¦ç»åéå¤ç说æäº
1.4 Package Manager 常ç¨å½ä»¤ä¸åæ°è¯´æ
1) 使ä¸ä¸ªapkå¤äºç¦ç¨ç¶æï¼ç¸å½äºå¸è½½äºï¼
disable
å ¶ä¸ PACKAGE_OR_COMPONENTçæ ¼å¼æ¯ package/classï¼ å¦ com.UCMobile/.main.UCMobile
eg:
adb shell su disable com.UCMobile/.main.UCMobile
ç»ç«¯æ§è¡ç»æï¼
åæ¶æ们å¨ææºä¸åç°ï¼UCæµè§å¨çå¾æ ä¸è§äº
2) 让ä¸ä¸ªapkä»ç¦ç¨ç¶ææ¢å¤è¿æ¥
enable
å ¶ä¸ PACKAGE_OR_COMPONENTçæ ¼å¼æ¯ package/classï¼ å¦ com.UCMobile/.main.UCMobile
eg:
adb shell su enable com.UCMobile/.main.UCMobile
ç»ç«¯æ§è¡ç»æï¼
åæ¶æ们ä»ææºä¸åç°ï¼UCæµè§å¨çå¾æ ååæ¥å¦ã
3) æ¥çä¸ä¸ªapkæå¨çè·¯å¾
pm path
eg:
adb shell pm path com.UCMobile
ç»ç«¯æ§è¡ç»æï¼
4) æ¥çææºä¸è£ çææçå
pm list packages
å次ä¸åè¿å¤ç说æ
1.5å ¶ä»å¸¸ç¨çadbå½ä»¤
1) å±å¹å½å
ä¾å¦ï¼å±å¹å¼å§å½å并ä¸å¨åå°/sdcardä¸ï¼åæ¶åå为demo.mp4
adb shell screenrecord /sdcard/demo.mp4
2) å ³é设å¤è¯·æ±ï¼å¼å¯è®¾å¤
adb shell stop
adb shell start
3)设å¤å ³æºä»¥åéå¯
adb reboot
adb shutdown
scoop install dark安装失败?
1 概述
作为一名使用 win 的开发者,搭建开发环境往往是源码时光邮局小程序源码一件比较痛苦的事,需要从网上下载各种软件,在电脑上配置不同软件运行环境,对软件进行各种设置,不仅耗时,而且容易出现各种问题。搭建的环境还会存在下面一些问题:
安装大量程序造成路径污染。安装和卸载比较麻烦。开发环境不能迁移,重装系统或者换电脑需要重新搭建开发环境。软件版本不好控制。为了解决上面这些问题,我们可以使用 WSL+Docker+Scoop 搭建开发环境,取代通过图形界面安装软件和 VMware 安装 Linux 环境的传统方式。
WSL 是飞秋源码c#适用于 Linux 的 Windows 子系统, 可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器或 Windows 机器上。
Scoop 是 Windows 的命令行安装程序,可以让我们从命令行以最小的安装量安装程序, 它消除了安装界面和安装程序造成的路径污染,它安装和卸载软件只需一行命令就可以完成,它还可以随意切换软件的版本。
一个完整的开发环境组成:首先使用 WSL 搭建一个 Linux 环境,然后在 Linux 环境里安装 Docker 应用,使用 Docker 来安装一些常用软件,比如数据库、web 环境等,asp页面 如何源码追踪Scoop 则是在本机上安装一些开发用到的软件,比如 jdk、maven、idea 等。WSL 和 Scoop 都是比较容易备份和还原的,这两个搭建好了,我们利用备份还原可以快速在另一台机器上搭建同样的一套环境,下面是搭建环境的具体流程。
2 WSL
2.1 WSL 安装
使用 WINDOWS 键 + R,输入 winver,检查 win 版本,确保内部版本号是 . 以上,否则更新 win 到最新版本。
2. 以管理员身份打开 PowerShell 并运行下面命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
3. 重新启动计算机。cms+和源码+区别
4. 下载 Linux内核更新包[1],然后安装。
5. 将 wsl2 设置为默认版本, 以管理员身份打开 PowerShell 并运行下面命令:
wsl --set-default-version 2
6. 安装 Ubuntu . LTS, 打开 Microsoft Store[2],搜索 Ubuntu . LTS[3] 安装, 安装完成后打开 Ubuntu . LTS, 等候几分钟会提示设置用户名和密码,如果不设置用户名和密码直接关闭窗口则默认以 root 登录,这里我们直接关闭窗口,不设置用户名和密码。
7. 然后重新打开 Ubuntu . LTS 就会进入 Ubuntu . LTS了,我们也可以在 powershell 使用 wsl 这个命令进入 Ubuntu . LTS。
2.2 WSL 配置
WSL 每次启动后,windows 都会给它分配一个随机的 IP 地址,这样是不利于我们访问 docker 里的服务的,为了解决这个问题,我们可以创建一个脚本文件 wsl2-ip.bat来给 wsl 分配一个固定的 IP,在每次启动 wsl 后用管理员权限运行这个脚本,文件内容如下:
@echo off
setlocal enabledelayedexpansion
:: set wsl2 ip
wsl -u root ip addr | findstr "...2" > nul
if !errorlevel! equ 0 (
echo wsl ip has set
) else (
wsl -d Ubuntu-. -u root ip addr add ...2/ broadcast ... dev eth0 label eth0:1
echo set wsl ip success: ...2
)
:: set windows ip
ipconfig | findstr "...1" > nul
if !errorlevel! equ 0 (
echo windows ip has set
) else (
netsh interface ip add address "vEthernet (WSL)" ...1 ...
echo set windows ip success: ...1
)
pause
其中 ...2 表示 Linux 的 IP 地址, ...1 表示主机的 IP 地址。
有时会遇到 Ubuntu . LTS 无法连接网络,这个非常重要,我们可以运行下面命令解决:
sed -i '4d' /etc/resolv.conf
sed -i '3a\nameserver 8.8.8.8' /etc/resolv.conf
sed -i '4a\nameserver ...' /etc/resolv.conf
2.3 Ubuntu 配置
2.3.1 替换镜像源
1. 备份 sources.list 文件,运行下面命令:
mv /etc/apt/sources.list /etc/apt/sources.list.bak
2. 创建 source.list 文件,运行下面命令:vim /etc/apt/sources.list
3. 然后在文件里添加下面内容,下面源任选其一即可。
# 清华源
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb /ubuntu/ focal main restricted universe multiverse
# deb-src /ubuntu/ focal main restricted universe multiverse
deb /ubuntu/ focal-updates main restricted universe multiverse
# deb-src /ubuntu/ focal-updates main restricted universe multiverse
deb /ubuntu/ focal-backports main restricted universe multiverse
# deb-src /ubuntu/ focal-backports main restricted universe multiverse
deb /ubuntu/ focal-security main restricted universe multiverse
# deb-src /ubuntu/ focal-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb /ubuntu/ focal-proposed main restricted universe multiverse
# deb-src /ubuntu/ focal-proposed main restricted universe multiverse
# 阿里源
deb /ubuntu/ focal main restricted universe multiverse
#deb-src /ubuntu/ focal main restricted universe multiverse
deb /ubuntu/ focal-updates main restricted universe multiverse
#deb-src /ubuntu/ focal-updates main restricted universe multiverse
deb /ubuntu/ focal-backports main restricted universe multiverse
#deb-src /ubuntu/ focal-backports main restricted universe multiverse
deb /ubuntu/ focal-security main restricted universe multiverse
#deb-src /ubuntu/ focal-security main restricted universe multiverse
deb /ubuntu/ focal-proposed main restricted universe multiverse
#deb-src /ubuntu/ focal-proposed main restricted universe multiverse
#网易源
deb /"]
}
3 Scoop
3.1 Scoop 安装
1. 以管理员权限打开 PowerShell 。
2. 自定义用户软件和全局软件安装位置,运行下面命令:
$env:SCOOP='D:\Softwares\Scoop\LocalApps'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
$env:SCOOP_GLOBAL='D:\Softwares\Scoop\GlobalApps'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
3. 配置安全策略以及安装 Scoop,运行下面命令:
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('域名,查询对应的 IP 地址。
3. 配置 C:\Windows\System\drivers\etc\hosts文件,在修改前赋予 hosts 文件读写权限。
4. 修改 host 文件内容如下,第一列是查询出来的ip地址,第二列是其对应的域名,中间有个空格。
5. 保存后重新运行安装命令。
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('/chawyehsu/dorado
scoop bucket add Ash /Ash/Scoop-Ash.git
scoop bucket add pleiades /jfut/scoop-pleiades.git
scoop bucket add Scoop-Apps /ACooper/scoop-apps
scoop bucket add scoop-zapps /kkzzhizhou/scoop-zapps
scoop bucket add lemon /hoilc/scoop-lemon
scoop bucket add raresoft /L-Trump/scoop-raresoft
4. 如果软件仓库添加失败,还是因为网络的原因,大家可以把这些仓库 fork 到自己的码云账户下,然后再添加。
5. 使用 aria2 来加速软件的安装:
scoop install aria2 -g
scoop config aria2-max-connection-per-server
scoop config aria2-split
scoop config aria2-min-split-size 1M
如果想关闭 aria2,可以运行 scoop config aria2-enabled false命令。
3.4 Scoop 常用命令
# 搜索app
scoop search <应用名>
# 检查哪些软件有更新
scoop status
# 版本切换
scoop reset <应用名>@<版本切换>
# 禁止某app更新
scoop hold <应用名>
# 更新所有app
scoop update
*# 安装app
scoop install <应用名>
#全局安装app
scoop install -g <应用名>
#安装extras软件源下的app
scoop install extras/<应用名>
# 卸载app
scoop uninstall <应用名>
# 卸载全局安装的app
scoop uninstall -g <应用名>
4 总结
开发环境软件的安装与配置到这里就完成了,利用上面这些软件,你可以快速搭建 Java、Go、C++、Python等开发环境。
参考资料
[1]Linux内核更新包: /store/apps/9n6svws3rx
[4]IP地址查询网站: /
linux系统管理命令shutdown源码linux系统管理命令
linux系统管理--htop命令的使用?1、Htop是一个非常高级的交互式的实时linux进程监控工具。它和top命令十分相似,但是它具有更丰富的特性,例如用户可以友好地管理进程,快捷键,垂直和水平方式显示进程等等。Htop是一个第三方工具,它不包含在linux系统中,你需要使用YUM包管理工具去安装它。
2、CentOS安装htop
#yum-yinstallhtop
3、截图
如何在linux上用命令实现用户和组的管理?
Linux上用命令实现本地用户和组的管理
本地用户和组:管理文件和进程等等
本地用户和组:
1)root:超级管理员系统创建的第一个账户
特点:
id为:0
家目录:/root
具有系统的完全控制权:小心使用。
#id
uid=0(root)gid=0(root)groups=0(root)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c
#
2)普通用户:不具有管理员权限
特点:
id范围:
=id=
家目录:/home/用户名
#idstudent
uid=(student)gid=(student)groups=(student),(wheel)
#
3)服务用户:为服务提供权限
特点:
id范围:
0id
家目录:应用程序服务目录
#idapache
uid=(apache)gid=(apache)groups=(apache)
#
如果是yum,rpm安装的软件:由rpm包中的脚本创建服务账户
Includeconf.modules.d/*.conf
#
#Ifyouwish。
Linux操作系统的基本功能3:创新能力
“如果你总是使用微软的开发工具,你一生只能做个操作人员。”这话一点都不假.linux是自由软件,而自由软件和非自由软的区别在于:
1.自由软件是开放的,成千上万的人可以检查这个软件,快速地找到并修改其错误码。
2.最终用户可以按照自己的意愿自定义自由软件,有特殊需要的用户也可以完全按照他们认为合适的方式定制自己的Linux。
3.自由软件为了防止重复发明,通过共享源代码和思想来节省很多工作量。
Linux操作系统的基本功能4:UNIX能力
人们所以选择Linux的又一个重要原因是在于它的UNIX兼容性。由于Linux是一套自由软件,用户可以无偿地得到它及其源代码,无偿地获得大量的应用程序,还可以任意地修改和补充它们。这对用户学习、了解UNIX操作系统的内核非常有益。可以说Linux为广大用户提供了一个在家里学习和使用UNIX操作系统的廉价的机会。
linuxlocate
linuxæ¥è¯¢å½ä»¤ï¼1.find
findæ¯æ常è§åæ强大çæ¥æ¾å½ä»¤ï¼ä½ å¯ä»¥ç¨å®æ¾å°ä»»ä½ä½ æ³æ¾çæ件ã
2.locate
locateå½ä»¤å ¶å®æ¯find-nameçå¦ä¸ç§åæ³ï¼ä½æ¯è¦æ¯åè å¿«å¾å¤ï¼åå å¨äºå®ä¸æç´¢å ·ä½ç®å½ï¼èæ¯æç´¢ä¸ä¸ªæ°æ®åºã
3.whereis
whereiså½ä»¤åªè½ç¨äºç¨åºåçæç´¢ï¼èä¸åªæç´¢äºè¿å¶æ件ï¼åæ°-bï¼ãman说ææ件ï¼åæ°-mï¼åæºä»£ç æ件ï¼åæ°-sï¼ã
4.which
whichå½ä»¤çä½ç¨æ¯ï¼å¨PATHåéæå®çè·¯å¾ä¸ï¼æç´¢æ个系ç»å½ä»¤çä½ç½®ï¼å¹¶ä¸è¿å第ä¸ä¸ªæç´¢ç»æã
5.type
typeå½ä»¤å ¶å®ä¸è½ç®æ¥æ¾å½ä»¤ï¼å®æ¯ç¨æ¥åºåæ个å½ä»¤å°åºæ¯ç±shellèªå¸¦çï¼è¿æ¯ç±shellå¤é¨çç¬ç«äºè¿å¶æ件æä¾çã
linuxä¸cè¯è¨åºå½æ°ç®å½ï¼
ä¸è¬æ¥è¯´æ¯æ¾å¨/usr/includeç®å½ä¸çï¼
ä½æ¯è¿ä¸ªå¹¶ä¸å±éä¹æ¯å¯æ§çï¼å¦ææ们è¿è¡å¼åè¿ç¨ä¸ï¼å°±ä¼å¨å æ ¸çåºå½æ°æ件ç®å½ï¼
ä¾å¦å¨:/XXX/XXX/linux-X.X/include
æä»¥æ ¹æ®ä¸åçæ åµï¼å¤´æ件åæ¾çç®å½ä¹æ¯ä¸åçï¼å ·ä½éè¦å¯ä»¥æ ¹æ®locateågrepå½ä»¤è¿è¡æ¥è¯¢ã
å¦ä½å¨linuxä¸ç¨å½ä»¤å®ç°ç¨æ·åç»ç管çï¼
Linuxä¸ç¨å½ä»¤å®ç°æ¬å°ç¨æ·åç»ç管ç
æ¬å°ç¨æ·åç»ï¼ç®¡çæ件åè¿ç¨çç
æ¬å°ç¨æ·åç»ï¼
1ï¼root:è¶ çº§ç®¡çåç³»ç»å建ç第ä¸ä¸ªè´¦æ·
ç¹ç¹ï¼
id为:0
家ç®å½ï¼/root
å ·æç³»ç»çå®å ¨æ§å¶æ:å°å¿ä½¿ç¨ã
#id
uid=0(root)gid=0(root)groups=0(root)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c
#
2ï¼æ®éç¨æ·ï¼ä¸å ·æ管çåæé
ç¹ç¹ï¼
idèå´ï¼
=id=
家ç®å½ï¼/home/ç¨æ·å
#idstudent
uid=(student)gid=(student)groups=(student),(wheel)
#
3ï¼æå¡ç¨æ·ï¼ä¸ºæå¡æä¾æé
ç¹ç¹ï¼
idèå´ï¼
0id
家ç®å½ï¼åºç¨ç¨åºæå¡ç®å½
#idapache
uid=(apache)gid=(apache)groups=(apache)
#
å¦ææ¯yumï¼rpmå®è£ ç软件ï¼ç±rpmå ä¸çèæ¬å建æå¡è´¦æ·
Includeconf.modules.d/*.conf
#
#Ifyouwishhttpdtorunasadifferentuserorgroup,youmustrun
#httpdasrootinitiallyanditwillswitch.
#
#User/Group:Thename(or#number)oftheuser/grouptorunhttpdas.
#Itisusuallygoodpracticetocreateadedicateduserandgroupfor
#runninghttpd,aswithmostsystemservices.
#
Userapache
Groupapache
#'Main'serverconfiguration
#
æ¬å°ç»ï¼
1ï¼ä¸»ç»ï¼ä¸ä¸ªç¨æ·ä¸å®è¦å±äºæ个主ç»ä¸ãå½äºç¨æ·å¨å建æ件æ¶ï¼ç»æ件çå½å±ç»
2ï¼ä»å±ç»ï¼ç¨æ·å®¹å¨ï¼ç»ç»å管çç¨æ·æé管æ§
ä½ç¨ï¼
æ件ï¼
è¿ç¨ï¼
$ps-ux
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
student..?Ss::/usr/lib/system
student..?S::(sd-pam)
student..?S::sshd:student@p
student..pts/0Ss::-bash
student..?D::sshd:student@p
student..pts/1Ss::-bash
student..pts/1S::/bin/bash
student..pts/1R+::ps-ux
$
è´¦æ·æ件ï¼
1ï¼/etc/passwd:ä¿åç¨æ·ä¿¡æ¯
#cat/etc/passwd|grepstudent
student:x:::StudentUser:/home/student:/bin/bash
ç¨æ·åå¯ç uid主ç»IDæ述家ç®å½ç»å½shell
#
#cat/etc/passwd|grep-wroot:x
root:x:0:0:root:/root:/bin/bash
#
#cat/etc/passwd|grepapache
apache:x:::Apache:/usr/share/httpd:/sbin/nologin
æå¡è´¦å·æ æ³ç»å½ç³»ç»
#
2./etc/shadowï¼ä¿åç¨æ·å¯ç çHASHï¼å¯ç çæææ§ä¿¡æ¯ï¼å¯ç ä¿®æ¹æ¶é´ï¼è´¦æ·æææã
#
#ls-l/etc/shadow
----------.1rootrootMar:/etc/shadow
#
#
#cat/etc/shadow|grepstudent
student:$6$8oIjLCsc$/n1iQXYh1E6.uOEuJKgioqAtmqm2TQmkJGF2RwyteIr1tIfrPdiRYgWe6Sjen5/eMij2uHM/a1tue/QRlo3X::0::7:::
#
å¯ç çHASH:sha
8oIjLCsc$/n1iQXYh1E6.uOEuJKgioqAtmqm2TQmkJGF2RwyteIr1tIfrPdiRYgWe6Sjen5/eMij2uHM/a1tue/QRlo3X
:天æ°å¯ç æåä¸æ¬¡ä¿®æ¹çæ¶é´ä»--+天ä¹åé£ä¸å¤©
0ï¼å¯ç æå°ä½¿ç¨å¤©æ°0没æéå¶ç¨æ·éæ¶å¯ä»¥æ¹å¯ç
ï¼å¤©æ°ï¼å¯ç æ大修æ¹æ¶é´æ°¸ä¹ å¤å¹´
7ï¼warningè¦åæ¶é´ï¼å½å¯ç å¿«å°æåä¿®æ¹æ¶é´å7天ï¼éç¥ç¨æ·ä¿®æ¹ã
::天æ°å¤±ææ¶é´inactiveç¨æ·å¯ç è¿äºæåä¿®æ¹æ¶é´ï¼æªæ¹åå¯ç ï¼åè¿å¤å°å¤©ï¼è´¦æ·å°è¢«éå®
::è´¦æ·æææ
å建ç¨æ·åç»ï¼
å建æ¶ï¼æ²¡æå¯ç ï¼
#useraddzhangsan
#useraddlisi
#idzhangsan
uid=(zhangsan)gid=(zhangsan)groups=(zhangsan)
#idlisi
uid=(lisi)gid=(lisi)groups=(lisi)
#
æ æ³ç»å½ï¼ä¸PAMæå ³
$
$su-zhangsan
Password:
Password:
su:Authenticationfailure
$
设置å¯ç ï¼
#
#cat/etc/passwd|grepzhangsan
zhangsan:x::::/home/zhangsan:/bin/bash
#cat/etc/shadow|grepzhangsan
zhangsan:!!::0::7:::#!!æªè®¾ç½®å¯ç
#
#passwdzhangsan
Changingpasswordforuserzhangsan.
Newpassword:
BADPASSWORD:Thepasswordisshorterthan8characters
Retypenewpassword:
passwd:allauthenticationtokensupdatedsuccessfully.
#
#
#cat/etc/shadow|grepzhangsan
zhangsan:$6$3wxuXomVbQwQcK$oQW6injgldxa2N/Pt4tCPDVRqWRVGw.UNZdxE4R0nhEt8K/3UDKzxap6ReIReEvDpG.GdwjpMiiDh7.f6DJNQ0::0::7:::
#
chageå¯ä»¥æ¥çç¨æ·å¯ç å±æ§
#chage-lzhangsan
Lastpasswordchange:Mar,
Passwordexpires:never
Passwordinactive:never
Accountexpires:never
Minimumnumberofdaysbetweenpasswordchange:0
Maximumnumberofdaysbetweenpasswordchange:
Numberofdaysofwarningbeforepasswordexpires:7
#
å建ç»ï¼ä»å±ç»
#
#groupaddit
#
#
#groupaddsales
#
#
#
#cat/etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x::student
cdrom:x::
mail:x::postfix
man:x::
dialout:x::
floppy:x::
games:x::
tape:x::
video:x::
ftp:x::
lock:x::
audio:x::
users:x::
nobody:x::
dbus:x::
utmp:x::
utempter:x::
input:x::
kvm:x::
render:x::
systemd-journal:x::
systemd-coredump:x::
systemd-resolve:x::
tss:x::
polkitd:x::
rpc:x::
unbound:x::
ssh_keys:x::
sssd:x::
setroubleshoot:x::
rpcuser:x::
insights:x::
cockpit-ws:x::
sshd:x::
chrony:x::
tcpdump:x::
student:x::
printadmin:x::
libstoragemgmt:x::
slocate:x::
postdrop:x::
postfix:x::
apache:x::
zhangsan:x::
lisi:x::
it:x::ç»æåå表
sales:x::
#
#idstudent
uid=(student)gid=(student)groups=(student),(wheel)
#
å°ç¨æ·æ·»å è¿ç»ï¼zhangsan,å å ¥itç»ï¼lisiï¼salesç»
#idstudent
uid=(student)gid=(student)groups=(student),(wheel)
#usermod-aGitzhangsan
#
#
#usermod-aGsaleslisi
#
#
#idzhangsan
uid=(zhangsan)gid=(zhangsan)groups=(zhangsan),(it)
#idlisi
uid=(lisi)gid=(lisi)groups=(lisi),(sales)
#
å é¤ç¨æ·ï¼
#useraddandy
é»è®¤å é¤ï¼ä¿çç¨æ·çæ件ï¼
#
#userdelandy
#
#
#useraddandy#é建andyä¼ä¸ä¸æ ·ï¼uidä¼ä¸å
useradd:warning:thehomedirectoryalreadyexists.
Notcopyinganyfilefromskeldirectoryintoit.
Creatingmailboxfile:Fileexists
#
#useradduser1
#useradduser2
#idandy
uid=(andy)gid=(andy)groups=(andy)
#userdel-rany
userdel:user'any'doesnotexist
#
#userdel-randy#ä¸ä¿çç¨æ·çæ件ã家ç®ï¼é®ç®±æ件ï¼skelæ件é½ä¼
#
#
#idandy
id:âandyâ:nosuchuser
#useraddandy
#idandy
uid=(andy)gid=(andy)groups=(andy)
#
ä»ç»ä¸ç§»é¤ç¨æ·ï¼
#
#idzhangsan
uid=(zhangsan)gid=(zhangsan)groups=(zhangsan),(it)#zhangsan主ç»ï¼itä»å±ç»
#
å½ä»¤ï¼
#gpasswd-dzhangsanit
Removinguserzhangsanfromgroupit
#
#
#idzhangsan
uid=(zhangsan)gid=(zhangsan)groups=(zhangsan)
#
#
#usermod-aGitzhangsan
#
#
#idzhangsan
uid=(zhangsan)gid=(zhangsan)groups=(zhangsan),(it)
#
#
#
#groupszhangsan
zhangsan:zhangsanit
#
ç´æ¥ä¿®æ¹æ件ï¼
#vim/etc/group
#cat/etc/group|grepit:
it:x::
#
å é¤ç»ï¼
#groupaddtest
#
#
#groupdeltest
å建èªå®ä¹ç¨æ·åç»ï¼
å®éªï¼ç¨æ·åmary,æå®ç¨æ·id,家ç®å½/maryhome,ä¸ç¨ç»å½ç³»ç»æè¿°thisismaryuser
#
#useradd-u-d/maryhome-s/sbin/nologin-c"thisismary"mary
#
#idmary
uid=(mary)gid=(mary)groups=(mary)
#cat/etc/passwd|grepmary
mary:x:::thisismary:/maryhome:/sbin/nologin
#
#su-mary
Lastlogin:SunMar::CSTonpts/0
Thisaccountiscurrentlynotavailable.
#
å建èªå®ä¹ç»ï¼æå®ç»id
#groupadd-ggroup1
#cat/etc/group|grepgroup1
group1:x::
#
ç³»ç»ä¹å®¶Linuxæ示Unabletolocatepackage该å¦ä½å¤ç?æä¹åï¼
åå¼å§æ¥è§¦ubuntuçæåå¯è½ä¼æç §ä¸äºå ¥é¨æç« çæ¥éª¤æ´æ¹è½¯ä»¶æºï¼å¯æ¯æ¤æ¶å®è£ 软件çè¯ä¼åºç°unabletolocatepackageçé误ä¾å¦ï¼ä»£ç å¦ä¸ï¼username@ubuntuï¼~$sudoapt-getinstallmysql-servermysql-clientï¼»sudoï¼½passwordforusernameï¼ReadingpackagelistsDoneBuildingdependencytreeReadingstateinformationDoneEï¼Unabletolocatepackagemysql-serverEï¼Unabletolocatepackagemysql-clientusername@ubuntuï¼~$å ¶å®é®é¢åºå¨æ§è¡sudoapt-getinstallä¹åæ´æ¢äºè½¯ä»¶æºï¼ä½æ¯å´å¿äºupdateä¸äºï¼äºæ¯æ§è¡ä¸é¢çå½ä»¤ï¼ä»£ç å¦ä¸ï¼sudoapt-getupdateè¿æ ·ä¸æ¥é®é¢å°±è§£å³äºã