Linux用户管理linux
一.用户管理概念windows
1.Linux系统用户管理特色安全
多用户平台(ALT+F1--6)bash
单用户模式中无需用户微信
管理方法有两种:命令、图形工具、ide
2.用户帐号的分类 工具
超级用户(UID=0):具备一切系统操做权限ui
普通用户(UID=500—MAXUID默认值60000):操做权限受到限制加密
伪用户(UID=1—499):限制本机登陆(用于特定服务的启动用户)spa
注:-用户的UID的取值,除0之外,其它值不容许用户取相同的值
-Linux系统有不少内置用户帐号,如:root,bin…
3.用户组的介绍
(1)什么是用户组
用户组是用户集合,经过用户能够减小用户管理的工做量
(2)用户组的分类
私用组:由建立用户时自动建立(通常只包含一个用户)
标准组:是用户手建立组,能够包含多个用户
4.用户管理的相关文件
(1)/etc/passwd
功能:存放系统的用户账号信息
内容:用户名 密码 UID GID 描述 用户主目录 SHELL
实例: u1 : x : 0 : 0 : u1 : /home/u1 :/bin/bash
注:-若是采用了shadow,此处存放口令的为屏蔽字符,真正密码保存在/etc/shadow中,shadow能够利用md5加密
-修改/etc/sysconfig/authconfig文件能够配置用户口令采用影子口令和md5加密机制
(2)/etc/shadow(使用影子口令)
功能:存放用户口令(通常采用加密的方式存放口令)
实例: u1 : bq$# :10750: 0: 9999 :7: -1:21110 :12546
说明: u1 用户名
b1$# 加密的口令
10750 从1970.1.1开始计算,该口令修改后已过去了多少天
(密码最后一次修改的时间)
0 须要再过多少天这个口令能够被修改
9999 密码的有效期(-1表明永不过时)
7 口令失效多少天前发出警告
-1 口令失效多少天以后禁用帐户(-1不由用、0表明当即禁用)
21110 用户帐号的有效日期(从1970/1/1开始计算)
12546 保留
(3)/etc/group
功能:存放系统组信息
格式:组名:组口令 :GID:成员列表
(4)/etc/gshadow
功能:存放用户组口令
格式:组名:口令:组管理员:成员列表
(5)用户环境文件目录——/etc/skel
skel目录相似与windows系统中的Default User目录,用于存放用户的环境文件等。当添加新用户时,系统会自动复制该目录到新用户的家目录下。
# ls –la /etc/skel/
total 64
drwxr-xr-x 3 root root 4096 Nov 1 21:04.
drwxr-xr-x 61 root root 8192 Feb 7 19:44 ..
-rw-r--r-- 1 root root 24 2003-09-18 .bash_logout
-rw-r--r-- 1 root root 191 2003-09-18 .bash_profile
-rw-r--r-- 1 root root 124 2003-09-18 .bashrc
-rw-r--r-- 1 root root 237 2003-05-22 .emacs
-rw-r--r-- 1 root root 120 2003-08-20 .gtkrc
drwxr-xr-x 3 root root 4096 1月 1 21:01 .kde
(6)用户规则文件——/etc/default/useradd
/etc/default/useradd文件用于定义添加新用户的一些规则信息。下面为该文件的默认内容。
# cat /etc/default/useradd
# useradd defaults file
GROUP=100 //默认组ID是100,在禁止默认的私有组时有用。
HOME=/home //默认建立新用户时,用户家目录所在的位置。
INACTIVE=-1 //密码过时后,账号是否处于激活状态,-1表示永远激活。
EXPIRE= //用户账号过时日期,为空表示不启用。
SHELL=/bin/bash //默认建立新用户时,所用的SHELL类型。
SKEL=/etc/skel //默认建立新用户时,用户的环境文件等存放的位置。
(7)用户规则文件——/etc/login.defs
/etc/login.defs文件用于定义添加新用户的一些规则信息。下面为该文件的默认内容。
//查看login.defs文件中全部不是以“#”开头的行。
#grep -v"^#" /etc/login.defs
MAIL_DIR /var/spool/mail //用户mail文件所在的位置
PASS_MAX_DAYS 99999 //用户密码最多使用的天数
PASS_MIN_DAYS 0 //用户密码最少使用的天数
PASS_MIN_LEN 5 //用户密码最小的长度
PASS_WARN_AGE 7 //定义用户密码过时前多少天给予警告
UID_MIN 500 //默认建立新用户时最小的UID号
UID_MAX 60000 //默认建立新用户时最大的UID号
GID_MIN 500 //默认建立新用户时最小的GID号
GID_MAX 60000 //默认建立新用户时最大的GID号
CREATE_HOME yes //建立新用户时是否建立家目录
二.用户及组管理命令
1.useradd
功能:创建用户
格式:useradd [参数]用户名
参数: -u UID:指定用户的UID值(指定UID不能与其它用户UID相等)
-g 组名/GID:指定用户的所属组
-G 组名:指定用户附加组
-d 路径:指定用户主目录(/home/$USERNAME)
-e 时间:指定用户有效日期
-s SHELL:指定SHELL的类型(/bin/bash)
-m :创建用户主目录
-M :不创建用户主目录
-r :创建一个伪用户
-o:与-u连用,若是所指定的UID重复时,强制使用指定的UID
-p 口令:指定用户口令,默认新建用户为禁用状态
实例:# useradd u2
# useradd -g g2 u2
# useradd -e 03/28/04 –g g3 -d /etc/ u3
#useradd u3 -p$1asd#dfsdkfeodsfefsdf
2.userdel
功能:删除用户
格式:userdel [参数] 用户名
参数:-r : 删除用户主目录
实例:#userdel u2
#userdel -r u3
3.passwd
功能:修改用户口令
格式:passwd [参数] [用户名]
参数:-l:锁定用户
-u:解除用户的锁定
-d:删除用户的口令
实例:#passwd u2
#passwd -l u2
#passwd -d u2
4.usermod
功能:修改用户信息
格式:usermod [参数] 用户名
参数:-l 新的用户名:修改用户名称
-d 路径:修改用户主目录
-G 组名:修改附加组
-s 路径: 修改用户SHELL
-u UID: 修改用户UID
-g GID: 修改用户所属组的 GID
-o:强制使用指定的UID,与-u连用
实例:# usermod -d / u3
# usermod -G u2 u3
# usermod -l user3 u3
5.gropadd
功能:创建用户组
格式:groupadd [参数] 组名
参数:-g GID:指定GID的值
-r :创建伪用户组(1--499)
实例:# groupadd g2
# groupadd –r g3
6.groupdel
功能:删除用户组
格式:groupdel 组名
实例:groupdel G3
7.groupmod
功能:修改组信息
格式:groupmod [参数] 组名
参数:-n 新组名:修改组的名称
-g GID:修改组的GID
-o:强制使用指定的GID,与-g连用
实例:# groudmod -n group g1
# groupmod -g 860 group1
8.gpasswd
格式:gpasswd [参数] [用户名] [组名]
参数:-a 用户名: 向指定组添加用户
-d 用户名: 从指定组中删除用户
-A 用户名: 设置组的管理员
-r : 删除组的口令
实例:#gpasswd -a u1 root
#gpasswd -d u1 root
#gpasswd gp1
#gpasswd -A u1 gp1
9.groups
功能:显示组信息
格式:groups [用户名]
实例:#groups (显示当前用户所属组)
#groups root (显示root用户的所属组)
10.id
功能:查看UID/GID的相关信息
格式:#id [参数]
参数:-a 显示全部信息
-g 显示有效组的ID
-G 显示全部组的ID
-u 显示用户ID
-n 与-gGu连用,用于显示用户/组名称
实例:#id
#id -un
11.newgrp
功能:更改用户有效组
格式:#newgrp 组名
实例:#newgrp users
12.pwck
功能:检查/etc/passwd与/etc/shadow文件内容及用户主目录是否存在
实例:#pwck
13.chpasswd
功能:修改用户口令,用户名和口令由用户输入的执行过程当中输入
格式:#chpasswd [参数]
参数:-e 不加密存储
实例:#chpasswd
u1:linux
u2:linux
# cat /etc/users>chpasswd
三.用户安全管理
1.文件访问权限操做
(1)文件的使用者
超级用户:不受文件访问权限的限制,能够全部文件
普通用户:受具体文件访问权限的限制,每一个文件的访问权限由拥有者权限、拥有组权限及其余用户权限三部分组成
(2)文件设问权限的种类
普通权限
表示字符 |
权限名称 |
对文件的含义 |
对目录的含义 |
r(4) |
读 |
读取文件内容 |
检查目录内容 |
w(2) |
写 |
修改文件内容 |
改变目录内容 |
x(1) |
执行 |
执行文件 |
进入目录 |
注:以上权限组合能够用字母(如:r-x)和八进制数字(如:7=4+2+1)表示
特殊权限
表示字符 |
权限名称 |
含义 |
备注 |
s(4) |
Suid |
执行文件时使用文件拥有者的UID |
用于可执行文件 |
s(2) |
Sgid |
执行文件时使用文件拥有组的GID |
用于可执行文件 |
t(1) |
粘着位 |
使目录成为临时目录(可写,可删除本身拥有的文件) |
用于目录 |
(3)文件访问权限的相关操做
l chmod
功能:修改文件访问权限
格式:chmod [参数] <权限值> <文件名>
参数:
-v:显示详细说明
-c:与-v类似,但只有在文件权限发生改变时才显示详细说明
-R:递归改变目录的权限
实例:#chmod rwxr-xr-x file1
# chmod u+x file1
# chmod u-x,o+rw file2
#chmod u+s,g+s file2
#chmod 1755 dir1
注:-只有root和文件属主有权执行chmod文件
l chown
功能:改变文件拥有者及拥有级(只有超级用户使用)
格式:chown [参数] <用户名> <文件名>
参数:-R:递归改变目录的拥有者
-f:不显示拥有者的详细信息
实例:# chown user f1
# chown -R user1.g1 /d1
l umask
功能:设置权限掩码(决定新建文件的权限)
格式:umask 权限值(超级用户默认为022,普通用户默认为002)
实例:#umask 044
计算公式:目录:777-umask
文件:666-umask
l Chattr
功能: 修改ext2和ext3文件系统中的文件属性(只有超级用户使用)
格式:chattr [参数] 操做符 属性值 文件或目录
参数:
-R:递归处理全部的文件及子目录
-V:详细显示修改内容,并打印输出。
操做符:
-:失效属性
+:激活属性
= :指定属性
属性值
A:告诉系统不要修改对这个文件的最后访问时间
S:一旦应用程序对这个文件执行了写操做,使系统马上把修改的结果写到磁盘。
a:系统只容许在这个文件以后追加数据,不容许任何进程覆盖或截断这个文件。若是目录具备这个属性,系统将只容许在这个目录下创建和修改文件,而不容许删除任何文件。
i:系统不容许对这个文件进行任何的修改。若是目录具备这个属性,那么任何的进程只能修改目录之下的文件,不容许创建和删除文件。
D:检查压缩文件中的错误。
d:在进行文件系统备份时,dump程序将忽略这个文件。
C:系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压以后的数据;而向这个文件中写入数据时,数据首先被压缩以后才写入磁盘。
:让系统在删除这个文件时,使用0填充文件所在的区域。
u:当一个应用程序请求删除这个文件,系统会保留其数据块以便之后可以恢复删除这个文件
实例:#chattr +i file1
注:属性须要相应内核的支持,不能利用chattr保护/,/dev,/var,/tmp
l chgrp
功能:更改拥有组
格式:#chgrp [参数] 组名 文件名
参数:-R:更改目录全部内容的拥有组
实例:#chgrp group1 f1
l lsattr
功能:显示文件的属性
格式:lsattr [参数] [文件名]
参数:-R:查看目录全部内容的属性,包括子目录中的内容
实例:#lsattr /etc/f1
2.用户安全建议
(1)通常不使用root用户进行平常管理操做
(2)保持口令的安全,不要写SUID/SGID程序
(3)不要让自已的文件或目录可被他人写
(4)当心地拷贝和移动文件
(5)不使用的帐号能够禁用或删除
(6)重要文件须要加密
(7)不用的端口就封掉、或采用跳机链接。
微信扫一扫 、关注公众号
不定时分享资料视频