用户管理:useradd、userdel、usermod、passwd、chsh、chfn、finger、id、chage
组管理:groupadd、groupdel、groupmod、gpasswd
权限管理:chown、chgrp、chmod、umask
/etc/passwd:
用户名:密码:UID:GID:注释:家目录:默认shell
/etc/group:
组名:密码:GID:以此组为其附加组的用户列表
/etc/shadow:
用户名:密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间
useradd [options] USERNAME
-u UID
-g GID(基本组)
-G GID...(附加组)
-c "COMMENT"
-d /path/to/directory
-s SHELL
-m -k
-M
-r 添加系统用户
/etc/login.defs
/etc/shells:指定了当前系统可用的安全shell
SHELL
userdel [options] USERNAME
-r 同时删除用户的家目录
id:查看用户的账号属性信息
-u
-g
-G
-n
修改用户账号属性
usermod [options] USERNAME
-u UID
-g GID
-a -G GID:不使用-a选项,会覆盖此前的附加组
-c
-d -m:
-s
-l
-L 锁定账号
-U 解锁账号
chsh:修改用户的默认shell
chfn:修改注释信息
密码管理:
passwd [USERNAME]
--stdin
-l
-u
-d:删除用户密码
pwck:检查用户账号完整性
组管理
创建组:groupadd
groupadd
-g GID
-r 添加为系统组
groupmod
-g GID
-n GRPNAME
groupdel
gpasswd:为组设定密码
newgrp GRPNAME <--> exit
chage
-d:最近一次的修改时间
-E:过期时间
-I:非活动时间
-m:最短使用期限
-M:最长使用期限
-w:警告时间
三类用户:
u:属主
g:属组
o:其他用户
chown:改变用户属主(只有管理员可以用此命令)
chown USERNAME file,...
-R:修改目录及其内部文件的属主
--reference=/path/to/somefile file,...
chown USERNAME:GRPNAME file,...
chown USERNAME.GRRPNAME file,...
chgrp GRPNAME file,...
-R
--reference=/path/to/somefile file,...
chmod:修改文件的权限
修改三类用户的权限:
chmod MODE file,...
-R
--reference=/path/to/somefile file,...
修改某类用户或某些类用户权限:
u,g,o,a
chmod 用户类型=MODE file,...
修改某类用户的某位或某些位权限:
u,g,o,a
chmod 用户类型+|-MODE file,...
umask:遮罩码
666-umask
777-umask
文件默认不能具有执行权限,如果算得的结果中有执行权限,则将其权限加1;
umask:023
文件:666-023=643 ×
目录:777-023=754
站在用户登录的角度来说:SHELL的类型:
登录式shell
正常通过某终端登录
su - USERNAME
su -l USERNAME
非登录式shell
su USERNAME
图形终端下打开命令窗口
自动执行的shell脚本
bash的配置文件:
全局配置
/etc/profile,/etc/peofile.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
bash:脚本解释器
管道和重定向:> < >> <<
地址总线:内存寻址
数据总线:传输数据
控制总线:控制指令
寄存器:CPU暂时存储器
INPUT设备:
OUTPUT设备:
系统设定
默认输出设备:标准输出,STDOUT,1
默认输入设备:标准输入,STDIN,0
标准错误输出:STDERR,2
标准输入:键盘
标准输出和错误输出:显示器
I/O重定向:
Linux:
>:覆盖输出
>>:追加输出
set -C:禁止对已经存在文件使用覆盖重定向;强制覆盖输出,则使用 >|
set +C:关闭上述功能
2>:重定向错误输出
2>>:追加方式
&>:重定向标准输出或错误输出至同一个文件
<:输入重定向
<<:Here Document
管道:前一个命令的输出,作为后一个命令的输入
命令1 | 命令2 | 命令3 | ...