- 用户管理:useradd userdel usermod passwd chsh chfn finger id chage
- useradd:-u:UID -g:GID -G:附加组(可以有多个) -c:注释信息 -d:指定某个目录为家目录 -s:指定shell的路径(/etc/shells 文件中的某一行) -m:强制为用户创建家目录 -k:不复制/etc/skel(用户个人的环境配置文件)中的文件到家目录与-m:联合使用 -M:不创建家目录 -r:添加系统用户(不能登录,没有家目录) (/etc/login.defs为默认参数的配置文件) (/etc/shells中指定了系统用户的安装shell)
- userdel:删除用户,默认是不删除家目录的,-r:与家目录同时删除
- usermod:-u:修改UID -g:修改GID -G:覆盖添加附加组(-a -G 追加附加组) -s:修改shell -c:修改注释信息 -d:修改家目录 -l:修改loginname -e:指定过期时间(YYYY-MM-DD) -d -m:即指定家目录位置又可将数据移动到修改的目录 -f:非活动时间 -L:锁定帐号 -u:解锁
- id:查看用户的帐号属性信息 -u:UID -g:GID -G:所有组的ID
- finger:查看用户的帐号信息
- chsh:修改shell
- chfn:修改注释信息
- passwd:-l:锁定用户 -u:解锁 -d:删除用户密码 --stdin=用于脚本创建帐号并同时指定密码(echo ‘123456‘ | passwd --stdin 密码就设定为123456)
- pwck:检查用户帐号完整性
- 组管理:groupadd groupdel groupmod gpasswd
- groupadd:创建组,-g:GID -r:添加系统组
- groupmod:-g:修改GID -n:修改组名
- groupdel:删除组
- gpasswd:给组加密码,用于组之间的切换(newgrp 其他组名:提示输入密码)但是附加组是不需要密码的,exit:回到原来组
- chage:-b:修改最近一次修改时间 -E:修改过期时间 -I:修改非活动时间 -m:修改最近使用时间 -M:修改最长使用时间 -w:修改警告时间
- 权限管理:chown chgrp chmod umask
- chown:改变文件属主,可以同时改变多个文件 -R:递归修改(目录及其子目录和文件) --reference=指定文件 要修改的文件,可以有多个(将后面的文件属性修改为前面的文件属性) (chown root:root或root 或:root 可以同时修改组也可以单独修改组和用户)
- chgrp:修改组,-R:递归修改 --reference=指定文件 要修改的文件,可以有多个
- chmod:修改文件的权限属性,--reference=指定文件 要修改的文件,可以有多个,chmod 数字(八进制) file.... chmod u=rwx,g=w,o-wx
- 手动添加用户(test):
- nano /etc/group test:x:5000(GID)
- nano /etc/passwd test:x:5000:5000:TEST(注释信息):/home/test:/bin/bash
- nano /etc/shadow test:!!:15765:0:99999:7:::
- cp -r /etc/skel/ /home/test
- chown -R test:test /home/test
- chmod -r go= /home/test
- (!!出为MD5密码编码,也可以写:openssl passwd -1(数字1) -salt `12345678` 提示输入密码 然后得到加密的密码MD5码复制替换!!即可)
- umask:遮罩码(默认权限),666-umask 777-umask (root用户umask为022,普通用户umask为002),文件默认不能拥有执行权限的,如果算得结果中有执行权限则将其权限加1,如:3(wx)+1(x)=4(r)
- 用户登录的shell类型:
- 登录式shell:
- su -
- su -l
- 非登录式shell:
- su username
- 图形界面终端下执行的登录
- 自动执行的
- bash的配置文件:
全局配置文件:/etc/profile /etc/profile.d/*.sh /etc/bashrc - 个人配置文件:~/.bash_profile ~/.bashrc
- profile类的文件:设定环境变量,运行命令或脚本
- bashrc类的文件:设定本地用户环境变量,定义命令别名
- (若全局和个人配置文件中有部分有同类但不相同的定义,以个人用户为准,作用范围越小的越容易生效)
- 登录式shell如何读取配置文件:
- /etc/profile--/etc/profile.d/*.sh--~/.bash_profile--~/.bashrc--/etc/bashrc
- 非登录式shell如何读取配置文件:
- ~/.bashrc--/etc/bashrc--/etc/profile.d/*.sh
- (~/.bashrc:用户定义别名的地方,~/.bash_profile:定义运行命令或脚本(echo ‘Hello word ‘)(alias cl=‘clear‘)(定义umask:~/bash_profile--加入 umask 027))
- 管道和重点向:> < >> <<
- 系统设定:
- 默认输入设备(标准输入) STDOUT 0
- 默认输出设备(标准输出) STDIN 1
- 标准错误输出 SIDERR 2
- 标准输入:键盘 标准输出和错误输出:显示器
- I/O重定向:改变数据的输入输出来源,需要使用符号来完成
- 例:ls / > ~/test1.out(ls运行显示出来的内容就会写入test1.out文件中)(注:使用>会覆盖文件中原有内容,可以使用>>追加输出内容)
- 2>:重定向错误输出 2>>:追加错误输出内容
- &>:重定向标准输出或错误输出,输出到同一个文件
- <:输入重定向 例:tr ‘a-z’‘A-Z’ < ~/test1.out(test1.out中的文件内容都会变成大写)
- 例:cat << END(结束标记)
- >.........
- >!!!!!!!!
- >END
- (会显示前两行内容,也可以把前两行添加到文件:cat >> ~/test1.out << END)
- tee: 既能在屏幕上显示又能同时写入文件 tee 文件名
- 管道:命令 | 命令 | 命令 (把前一个命令的执行结果输出作为后一个命令的输入)
- 例:取出~/test1.out文件的第6行
- head -6 ~/test1.out | tail -1
- 文本查找:
- grep:根据模式搜索文件,部分匹配:有部分字符匹配都将符合模式的文本行显示出来
- 模式:pattern 是由文本字符和正则表达式的源字符组合而成的匹配条件
- grep [options] pattern [file....]
- -i:忽略大小写 --color:符合模式的行加颜色 -v:反向(只显示没有被匹配到的字符串)
- 正则表达式:regular expression--REGEXP
- . :匹配任意单个字符 *:匹配其前面的字符任意次 .*:任意长度的任意字符 \?:匹配其前面的字符1次或0次 \{m,n\}:匹配其前面的字符至少m次最多n次 ^$:空白行 \<:其后面的任意字符必须作为单词首部出现(如roo4 只要没有特殊字符都会被认为是单词) \>:其后前面的任意字符必须作为单词尾部出现(\<roo4\>:只能是roo4这个单词单独出现 \<roo4 roo4\>) \(\):后向引用(如:\(ab\)* ab至少出现1次或任意次) \(root\).*\1 \([0-9]\).*\1
- 位置规定 :
- ^:行首 (此字符后面的任意内容必须出现在行首) $:行尾 []:匹配指定范围内的任意单个字符 [^]:匹配指定范围外的任意单个字符
- 字符集合:[:digit:][:upper:][:punct:][:space:][:alpha:][:alnum:]
时间: 2024-10-30 03:11:31