安全上下文 (secure context):
用户:#UID /etc/passwd
组:#GID /etc/group
影子口令:
用户:#/etc/shadow
组: #/etc/gshadow
用户类别:
管理员:#0
普通用户:#1-65535
系统用户:#1-499(不允许登录)
一般用户:#500-60000
用户组类别:
私有组:#创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组
基本组:#用户的默认组
附加组:#额外组:默认组意外的其他组 /etc/passwd
account:#登录名
password:#密码
UID:
GID:#基本组ID
comment:#注释
HOME DIR:#家目录
SHELL:#用户默认shell
/etc/shadow
account:#登录名
encrypted password:#加密的密码
用户管理:
useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage
useradd [options] USERNAME
-u:#UID
-g:#GID(基本组)
-G:#GID(附加组,可添加多个使用,号隔开)
-c:#"COMMENT" 指定注释信息
-d:#/path/to/directory
-M:#不为用户创建家目录
-r: #添加系统用户
-s:#shell路径(echo $SHELL:查看当前shell)指定shell路径(/etc/shells:指定了当前系统可以的安全shell)
userdel
userdel [options] USERNAME
-r:#同时删除用户的家目录
usermod:修改用户账户属性
usermod [options] USERNAME
-u:#UID
-g:#GID
-a -G:#GID不使用-a会覆盖此前的附加组,使用-a -g为用户原有基础上追加附加组)
-c:#指定注册信息
-m -d:#既指定新的家目录,又移动此前的文件
-s:#修改用户的shell
-l:#修改用户登录名称
-L:#锁定帐号
-U:#解锁帐号
chsh:#修改用户的默认shell #chsh USERNAME
chfn:#修改用户注释信息 #chfn USERNAME
finger:#查看用户帐号信息
finger USERNAME
密码管理:
passwd [USERNAME] --stdin
echo "passwd" | passwd --stdin USERNAME
-l:#锁定
-u:#解锁
-d:#删除用户密码
openssl passwd -1 -salt '123456789' 生成8位加密密码(单项加密)
pwck:检查用户帐号完整性
组密码管理:
groupadd,grouopdel,groupmod gpasswd
group [options] USERNAME
groupadd:#创建组
-g:#GID
-r:#添加系统组
groupmod:#修改组信息
-g:#修改GID
-n:#修改组名
groupdel:#删除组
gpasswd:#为组设定密码
newgrp GRPNAME <--> exit:短暂为用户添加为基本组
chage [options] user
-d:#最近一次的修改时间
-E:#过期时间
-I:#非活动时间
-m:#最短使用期限
-M:#最长使用期限
-w:#警告时间
权限管理:
文件权限:r,w,x
r:#可读,可以使用类似cat等命令查看文件内容
w:#可写,可以编辑或删除此文件
x:#可执行,可以命令提示符下当作命令提交给内核运行
目录权限:
r:#可以对此目录执行ls以列出内部的所有文件
w:#可以在此目录创建文件
x:#可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息
0 000 ---:#无权限
1 001 --x:#执行
2 010 -w-:#写
3 011 -wx:#写和执行
4 100 r--:#读
5 101 r-x:#读和执行
6 110 rw-:#读写
7 111 rwx:#读写执行
管理命令详解:
chown,chgrp,chmod,umask
chown:#修改属主(只有管理员可以使用此命令)
chown USERNAME file
-R:#修改目录及其内部文件的属主
--reference=/path/smile file:#参考某个文件,设定跟参考文件属主一样
chown USERNAME:GRPNAME file #同时改变文件属主属组
chown USERNAME.GRPNAME file
chown :GRPNAME file #单独改变属组
chown USERNAME: #file单独改变属主
chgrp:#修改属组(只有管理员可以使用此命令)
chown USERNAMEfile
-R:#修改目录及其内部文件的属组
--reference=/path/smile file:#参考某个文件,设定跟参考文件属组一样
chmod:#修改文件的权限
-R:#修改目录及其内部文件的属组
修改三类用户的权限:
修改某类用户或某些类用户权限:
修改某类用户的某位或某些位权限:
umask:#反向掩码
666-umask:#创建文件权限
777-umask:#创建目录权限
文件默认不能具有执行权限,如果算得的结果中有执行权限,则将其权限加1;
站在用户登录的角度来说,SHELL的类型:
登录式shell:
正常通过某终端登录:
su - USERNAME
su - l USERNAME
非登录式shell:
su USERNAME
图形终端下打开命令窗口
自动执行的shell脚本
登录式shell如何读取配置文件?
# /etc/profile --> /etc/profile.d/*sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc
非登录式shell如何读取配置文件?
# ~/.bashrc --> /etc/bashrc --> .etc.profile.d/*.sh
bash的配置文件:(一般作用范围越小越优先)
全局配置(对所有用户都生效)
#/etc/profile, /etc/profile.d/*.sh, /etc/bashrc
个人配置:(只针对当前用户本身)
# ~/.bashrc_profile, ~/.bashrc
profile类的文件:
#设定环境变量
#运行命令或脚本
bashrc类的文件:
#设定本地变量
#定义命令别名