安全上下文 (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类的文件:

#设定本地变量

#定义命令别名