linux 自学笔记 (九) linux用户管理
来源:互联网 发布:室内装修画图软件 编辑:程序博客网 时间:2024/05/23 11:50
14 linux用户管理
14.1用户管理配置文件
配置文件
用户信息文件: /etc/passwd
文件格式:每一行即一个用户信息,有多少行,就有多少用户。
行格式: root : x : 0 : 0 : root : /root : /bin/bash
含义: 用户名:密码位:用户标识符UID:组标识符GID:解释性描述:宿主目录:命令解释器
linux用户分为3类:超级用户(root,用户标识符UID=0),只要将一个用户的UID设置为0,这个用户就有和root相同的权限。
普通用户 (UID 500-60000)
伪用户 (UID 1-499)
伪用户1.伪用户与系统和程序服务相关bin,daemon,shutdown,halt等,任何linux系统默认都有这些伪用户mail,news,game,apsche,ftp,mysql及sshd等,与linux系统的进程相关2.伪用户通常不需要或无法登录系统3.可以没有宿主目录
用户组特点: 每个用户都至少属于一个用户组
每个用户组可以包含多个用户
同一用户组的用户享有该用户组共有的权限
密码位 是由md5生成
密码文件: /etc/shadow
文件格式:每一行即一个用户信息,有多少行,就有多少用户。
行格式: root : $1$SFzhoxd$aatxtpowlkPrI515lh9lu1 : 15793 : 0 : 99999 : 7 : : :
含义: 用户名: 加密的秘密 :最后一次修改时间(天数):最小时间间隔(天数):最大时间间隔(天数): 警报时间 :帐号休闲时间:失效时间:标志
说明:1.加入 /etc/shadow中的加密的秘密删除了,则该用户不需要密码即可登录。
2.最后一次修改时间,是按天进行计算,起始天是按Unix的诞生日1970-1-1开始计算.
3.最大时间间隔之内,必须更改密码,否则无法登陆。怕遗忘可以通过警报时间来提前提醒
4.密码其实是先写入/etc/passwd ,然后再用pwconv将命令转移到 /etc/shadow,我可以用pwunconv将密码转移回中/etc/passwd。
用户组文件: /etc/group
文件格式:每一行即一个用户信息,有多少行,就有多少用户。行格式: root : x : 0 : root含义: 用户名:密码位:GID:组内用户列表添加一个组: groupadd newgroupgroupadd -g 888 newgroup (-g 表示设置GID)删除一个组:groupdel 组名修改用户组信息; groupmod
用户组密码文件:/etc/gshadow
用户配置文件:/etc/login.defs, /etc/default/useradd
新用户信息文件:/etc/skel
登录文件: /etc/issue (登录前显示的信息,一般为系统版本介绍,最好删除系统版本信息。可以只显示欢迎界面)
/etc/motd (登录后显示的信息,可以用于显示一些公告通知)
14.2用户管理命令
用户密码管理的 /etc/shadow和/etc/gshadow一般只有root有权更改,为什么普通用户可以更改自己的密码?
答案:关键在于/usr/bin/passwd的文件权限如下:
-rwsr-xr-x 1 root root 22984 Jan 6 2007 /usr/bin/passwd
SetUID:当一个可执行程序具有SetUID权限,用户执行该程序时,将以这个程序所有者的身份执行。
将一个可执行程序设置为SetUID,有两种方式:chmod u+s
chmod 4755 %(mod的4代表SetUID)
当一个不可执行的程序(如txt文档),当设置SetUID,该位置会变成S,用于表示警告
想雷同的命令有SetGID
将一个可执行程序设置为SetGID,有两种方式:chmod g+s
chmod 2755 %(mod的2代表SetGID)
chmod 6755 %(mod的2+4=6代表SetUID+SetGID)
查找系统的SetUID文件: find / -perm -4000 -o -perm -2000
而其他人是有粘着位设置t。
drwxrwxrwt 18 root root 4096 Apr 11 15:03 /tmp
粘着位:如果一个权限为777目录具有粘着位,每个用户都可以在这个目录下创建文件,但只有权限删除自己是所有者的文件。
将一个可执行程序设置为粘着位,有两种方式:chmod o+t
chmod 1755 %(mod的1代表粘着位)
添加用户: useradd
-u :UID
-g :缺省所属用户组GID
-G :指定用户所属多个组
-d:指定宿主目录
-s:命令解释器Shell
-c:描述信息
-e:指定用户失效时间
修改用户信息:usermod
修改一个用户的名称:usermod -l newname oldname
把用户添加到一个组里:usermod -g group user1
pwck 检测/etc/passwd文件(锁定用户 passwd -l user1 将用户user1锁定,是用户无法登录,解锁用 -u )
vipw 编辑/etc/passwd文件
id 查看用户id和组信息
finger 查看用户详细信息
su 切换用户(su - user1 环境变量切换)
passwd -S 查看用户密码状态
who, w 查看当前登录用户信息
删除用户: userdel -r username 删除用户,同时用 -r 删除用户目录
14.3用户组管理命令
设置组密码及管理组内成员:gpasswd
-a 添加用户到用户组
-d 把用户从用户组删除
-A 设置用户组管理员
-r 删除用户组密码
-R禁止用户切换为该组
groups 查看用户隶属于哪个用户组
newsgrp 切换用户组
grpck 用户组配置文件检测
chgrp 修改文件所属组
vigr 编辑/etc/group文件(锁定文件)
实例:授权jack和mary 对目录/software有写权限
# groupass softadm
# usermod -G softadm jack
#gpasswd -a mary softadm
#chgrp softadm /softawre
#chmod g+w /software
14.4批量添加用户
1 使用的命令顺序
newusers 导入用户信息文件 (newusers < 用户信息文件)pwunconv 取消shadow passwd 功能chpasswd 导入密码文件 (文件格式: 用户:密码)pwconv 将密码写入shadow文件
14.5用户授权
1. 限制用户 su 为 root
# ls -l /bin/su-rwsr-xr-x 1 root root 23960 Feb 28 2010 /bin/su# groupadd sugroup# chmod 4550 /bin/su# chgrp sugroup /bin/su# ls -l /bin/su-r-xr-x--- 1 root sugroup 23960 Feb 28 2010 /bin/su设定后,只有sugroup组中的用户可以使用su切换到root添加用户helen 到sugroup# useradd helen# passwd helen# usermod -G sugroup helen
用sudo代替su
在执行sudo时,临时成为root不会泄漏root口令仅向用户提供有限的命令使用权限
配置文件:/etc/sudoers,
编辑配置文件命令 :visudo
普通用户使用命令sudo
格式: 用户名(组名) 主机地址(主机名)=命令 (绝对路径)
查看普通用户被授权多少root命令: # sudo -l
注意:1.sudo不是吧管理员使用的命令转移给普通用户,而是普通用户以管理员身份去执行该命令
2.权限授予尽量精细化。
- linux 自学笔记 (九) linux用户管理
- Linux自学笔记:03_用户管理和目录结构
- Linux用户管理全攻略(九)
- Linux自学笔记(七)常用命令之用户管理命令,压缩解压命令
- Linux自学笔记(十一)Linux之用户和用户组
- Linux自学笔记(九)常用命令之Vim相关操作
- linux 自学笔记 (八) linux软件包管理
- linux 自学笔记(十一)linux文件系统管理
- linux用户管理笔记
- linux用户管理笔记
- linux用户管理笔记
- Linux笔记(九)-文件系统管理
- 九、Linux用户管理之配置文件篇
- Linux 自学笔记(六)——RPM 管理
- linux 自学笔记(二) 权限管理命令
- linux 定时器和时间管理 自学笔记
- linux 自学笔记 (十) 进程管理
- Linux笔记 7 (用户管理)
- java IO操作 (读写、追加、删除、移动、复制等)
- [Linux]三种方案在Windows系统下安装ubuntu双系统
- C++ map的基本操作和使用
- 网络编程2
- SSH框架环境的搭建
- linux 自学笔记 (九) linux用户管理
- DIV固定宽度居中显示-Div+CSS布局案例
- 在一个排好序的数组中查找和为sum的两个数
- ubuntu系统下使用samba与其它主机共享文件
- OpenStack源码探秘(一)——Nova-Scheduler
- 如何隐藏aspx文件格式,变成html
- 斯坦福Andrew Ng教授“机器学习”26篇教程全译
- java poi 读取excel(兼容03,07)
- 多进程与多线程的区别