一、3A认证
Authentication:认证
Autherization:授权
Accoutiong|Audition:审计
二、用户user
linux用户:username/UID
管理员:root,uid为0
普通用户:1-65535
系统用户:1-499(CentOS6),1-999(CentOS7)
对守护进程获取资源进行权限分配
登录用户:500+(CentOS6),1000+(CentOS7)
交互式鞥路
touch /etc/nologin,除了root用户都不让登录
三、组group
linux组:groupname/GID
管理员组:root,gid为0
系统组:1-499(CentOS6),1-999(CentOS7)
普通组:500+(CentOS6),1000+(CentOS7)
存放在:/etc/login.defs
安全上下文:(security context)
运行中的程序:进程(process)
以进程发起者的身份运行,进程所能够访问资源取决于进程的运行者的身份。
组的类别:
用户的主要组:主组(primary group)
用户必须属于一个且只有一个主组
组名同用户名,且仅包含一个用户:私有组
用户的附加组:辅助组(secondart group)
一个用户可以属于零个或多个辅助组
查看用户所在组信息:groups username
[user1@localhost dir]$ groups user1 user1 : user1 wang
查看用户uid,组的gid:id username
[user1@localhost dir]$ id user1 uid=1003(user1) gid=1003(user1) groups=1003(user1),1005(wang)
四、用户和组的配置文件
/etc/passwd:用户及其属性信息
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性
passwd文件格式
login name:登录用户
passwd:密码(x)
uid:用户身份编号
gid:登录默认所在组编号
gecos:用户全名或注释
home directory:用户家目录
shell:用户默认使用shell
[root@localhost testdir]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash
shadow文件格式
登录用户名
用户密码:一般用sha512加密
从1970年1月1日其到密码最近一次被改变的时间
密码再过几天可以被变更(0表示随时可被变更)
密码再过几天必须被变更(99999表示永不过期)
密码过期前几天系统提醒用户(默认为一周)
密码过期几天后帐号会被锁定
从1970年1月1日算起,多少天后帐号失效
[root@localhost testdir]# cat /etc/shadow root:$6$2mjLumhZ$RDpz5SHbdHapxz4MyOX90KQG3pUVGYi5ZJcJMCgFIJCnz75n9YsHxb2xFGKaMel2NARB7VKlrJmZuW5F7Hsgp1:17008:0:99999:7:::
group文件格式
群组名称
群组密码:通常不需要设定,密码是被记录在/etc/gshadow
gid:就是群组的id
以当前组为附加组的用户列表(分隔符为逗号)
[root@localhost testdir]# cat /etc/group root:x:0:
gshadow文件格式
群组名称
群组密码
组管理员列表:组管理员的列表,更改组密码个成员
以当前组的附加组的用户列表(分隔符为逗号)
[root@localhost testdir]# cat /etc/gshadow root:::
五、密码加密
加密机制
加密:明文–>密文
解密:密文–>明文
单项加密:哈希算法,原文不通,密文必不通
相同估算法定长输出,获得密文不可逆推出原始数据
雪崩效应:初始条件的微小改变,引起结果的巨大改变。
md5:128bits
sha1:安全哈希算法(secure hash algoritm)160bits
sha224:224bits
sha256:256bits
sha384:384bits
sh512:512bits
更改加密算法:authconfig –passalgo=md5 –update
密码的复杂性策略
使用数字,大写字母,小写字母及特殊字符中至少三种
足够长
使用随机密码
定期更换,不要使用曾经使用过的密码
六、更改文件操作
vipw和vigr 当安全格式不对,退出时会报错
pwck和grpck 检查语法
七、用户管理命令
用户管理命令
useradd:创建用户
usermod:修该用户信息
userdel:删除用户
组帐号管理命令
groupadd:创建组
groupmod:修改组信息
groupdel:删除组
用户创建useradd
useradd option username
-u:uid
-o:配合-u选项,不检查uid的唯一性
-g:gid,指明用户所属主组,可为组名
-c:用户的注释信息
-d:以指定的路径(不存在)为家目录
-s 指明用户的默认shell
-G:为用户指明附加组,组必须事先存在
-N:创建用户不创建主组,使用users组做主组
-r:创建系统用户
[root@localhost testdir]# useradd -u 1000 -g test -c "iamwang" -d /home/wang -s /bin/bash wang [root@localhost testdir]# getent passwd wang wang:x:1000:1004:iamwang:/home/wang:/bin/bash
默认值设定存放在:/etc/default/useradd
显示或更改默认设置:useradd -D
[root@localhost testdir]# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
新建用户的相关文件
/etc/default/useradd
/etc/skel/*
/etc/login.defs
批量创建用户命令
newusers userfile
cat passwdfile | chpasswd
用户属性修改
usermod option username
-u:uid
-g:主组
-G:附加组,原来的附加组将会被覆盖,若想保留原有附加组,要同事使用-a选项,表示附加。
-s:shell
-c:用户注释
-d:家目录不会自动创建,原家目录中的文件不会同时移动到新的家目录,若创建家目录并移动原家数据,同时使用-m选项
-l:新用户名
-L:lock指定用户,在/etc/shadow密码栏增加!
-U:unlick指明用户,将/etc/shadow密码栏的!去掉
-e 年-月-日:指明用户口令过期时间
-f:设定非活动期限
[root@localhost testdir]# usermod -u 1111 -g root -s /bin/csh -c "iamlaowang" -l laowang -d /testdir/wang -m wang [root@localhost testdir]# getent passwd laowang laowang:x:1111:0:iamlaowang:/testdir/wang:/bin/csh
删除用户
userdel option username
-r:删除用户家目录
[root@localhost testdir]# userdel -r laowang
查看用户相关的id信息
id option username
-u:uid
-g:gid
-G:组
-n:名字
用户相关的其他命令
chfn:指定个人信息
chsh:指定shell
finger
八、切换用户或其他用户身份执行命令
su option – username
切换用户的方式:
su username:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,保留当前用户的工作环境
su – username:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
root su 至其他用户无需密码,非root用户切换是需要密码
换个身份执行命令
su – username -c ‘command’
九、设置密码
passwd option username 修改指定用户的密码,仅root用户权限
passwd 改变自己密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-n mindays:最短使用期限
-x maxdiys:最大使用期限
-w warndats:提前多少天开始警告
-i inactivedats:非活动期限
–stdin:从标准输入接受用户密码
ehco“passwd” | passwd –stdin username
十、修改用户密码策略
chage option login
-d:最后一天
-E:–expiredate 有效期
-I:– inactive 非活动期限
-m:–mindays 最短使用期限
-M:–maxdays 最大使用期限
-W:–warndays 提钱多少天开始警告
-l:显示密码策略
下一次登录强制重设密码
chage -d 0 username
chage -m 0 -M 42 -W 14 -I 7 username
chage -E 年-月-日 username
十一、组管理命令
创建组
groupadd option groupname
-g:指定gid号
-r:创建系统组
[root@localhost testdir]# groupadd -g 1234 wang [root@localhost testdir]# getent group wang wang:x:1234:
组属性修改
groupmod option groupname
-g:gid号
-n:新名字
[root@localhost testdir]# groupmod -g 4321 -n laowang wang [root@localhost testdir]# getent laowang Unknown database: laowang
组删除
groupdel groupname
[root@localhost testdir]# groupdel laowang
十二、更改组密码,添加和移除组成员
gpasswd option username groupname
-a username:将用户添加至指定组中
-d username:从指定组中移除用户user
-A user1,user2:设置用管理权限的用户的列表
groupadd laowang [root@localhost testdir]# useradd xiaowang [root@localhost testdir]# gpasswd -a xiaowang laowang Adding user xiaowang to group laowang [root@localhost testdir]# getent group laowang laowang:x:1006:xiaowang [root@localhost testdir]# gpasswd -d xiaowang laowang Removing user xiaowang from group laowang [root@localhost testdir]# getent group laowang laowang:x:1006:
newgrp:临时切换基本组
如果用户本不属于此组,则需要组密码
十三、更改和查看组成员
groupmems option action
option
-g:–group groupname 更改为指定组(只有root)
action
-a:–add username 指定用户加入组
-d:–delete username 从组中删除用户
-p:–purge 从组中清除所有成员
-l:–list 显示组成员列表
查看用户所属组列表:groups option username
十四、文件权限
修改文件的属性
chown option owner:group file
[root@localhost testdir]# touch file1 [root@localhost testdir]# ll file1 -rw-r--r-- 1 root root 0 Aug 4 03:30 file1 [root@localhost testdir]# chown 1:wang file1 [root@localhost testdir]# ll file1 -rw-r--r-- 1 1 wang 0 Aug 4 03:30 file1
chown option –reference=rfile file 参考rfile,把file属主改成与rfile一样
[root@localhost testdir]# touch file2 [root@localhost testdir]# ll file2 -rw-r--r-- 1 root root 0 Aug 4 03:32 file2 [root@localhost testdir]# chown --reference=file1 file2 [root@localhost testdir]# ll file2 -rw-r--r-- 1 1 wang 0 Aug 4 03:32 file2
命令中的冒号可用.代替
-R:递归
修改文件属组
chgrp potion group file
[root@localhost testdir]# touch file1 [root@localhost testdir]# ll total 0 -rw-r--r-- 1 root root 0 Aug 4 03:33 file1 [root@localhost testdir]# chgrp wang file1 [root@localhost testdir]# ll total 0 -rw-r--r-- 1 root wang 0 Aug 4 03:33 file1
chgrp option –reference=rfile file 参考rfile,把file属组改成与rfile一样
[root@localhost testdir]# touch file2 [root@localhost testdir]# ll file2 -rw-r--r-- 1 root root 0 Aug 4 03:35 file2 [root@localhost testdir]# chgrp --reference=file1 file2 [root@localhost testdir]# ll total 0 -rw-r--r-- 1 root wang 0 Aug 4 03:33 file1 -rw-r--r-- 1 root wang 0 Aug 4 03:35 file2
-R:递归
owner 修改所有者
owner:group修改所有者和所属组
:group 修改所属组
文件的权限主要针对三类对象进行定义
owner:属主,用u来表示
group:属组,用g来表示
other:其他,用o来表示
每个文件针对每类访问者都定义了三种权限
r:Readable
w:Writable
x:eXcutable
三种权限对文件和目录的意义
文件
r:可使用文件查看类工具获取其内容
w:可修改内容,但不能删除文件本身
x:针对二进制程序或脚本,可以把次文件提请内核启动为一个进程
X:本身没有x权限,将不会增加
目录
r:可以查看文件列表,但不能访问文件,不能进入目录,也不能查看文件的元数据
w:可以创建或删除目录中文件,
x:可以进入目录,可以访问目录中文件
X:与x等价
十五、修改文件权限
chmod option catalmode file 八进制数值修改权限
[root@localhost testdir]# ll total 0 -rw-r--r-- 1 root wang 0 Aug 4 03:33 file1 -rw-r--r-- 1 root wang 0 Aug 4 03:35 file2 [root@localhost testdir]# chmod 777 file1 [root@localhost testdir]# ll total 0 -rwxrwxrwx 1 root wang 0 Aug 4 03:33 file1 -rw-r--r-- 1 root wang 0 Aug 4 03:35 file2
chmod option mode file mode修改权限
[root@localhost testdir]# chmod ug+x file2 [root@localhost testdir]# ll total 0 -rwxrwxrwx 1 root wang 0 Aug 4 03:33 file1 -rwxr-xr-- 1 root wang 0 Aug 4 03:35 file2
mode:
修改一类用户的所有权限
u=主,g=组,o=其他,a=所有
修改用户的所有权限
u+u-,g+g-,o+o-,a+a-,
-R:递归
chmod option –reference=rfile file 参考rfile文件的权限,将file的权限修改为同file的权限
[root@localhost testdir]# ll total 0 -rwxrwxrwx 1 root wang 0 Aug 4 03:33 file1 -rwxr-xr-- 1 root wang 0 Aug 4 03:35 file2 [root@localhost testdir]# chmod --reference=file1 file2 [root@localhost testdir]# ll total 0 -rwxrwxrwx 1 root wang 0 Aug 4 03:33 file1 -rwxrwxrwx 1 root wang 0 Aug 4 03:35 file2
十六、新建文件和目录的默认权限
umask从目录或文件上屏蔽掉最大相应的位,从而得出默认权限
umask值,可以用来保留在创建文件权限
新建文件权限:666-umask
如果所得结果某位存在奇数权限,则将其权限+1
新建目录权限:777-umask
非特权权限用户umask是002
root的umask是022
umask:查看
umask 八进制数值:设定
umask -S:以模式的方式显示
umask -p:输出可被调用
全局设置存放在/etc/bashrc
用户设置存放在~/.bashrc
[root@localhost testdir]# umask 0022 [root@localhost testdir]# umask -S u=rwx,g=rx,o=rx [root@localhost testdir]# umask 111 [root@localhost testdir]# umask 0111
原创文章,作者:DYW,如若转载,请注明出处:http://www.178linux.com/28903