标签:
Linux用户管理
|—用户管理配置文件
|—用户管理命令
|—用户组管理命令
|—批量添加用户
|—用户授权
***********************************************************************
配置文件
用户信息文件:/etc/passwd
密码文件:/etc/shadow
用户组文件:/etc/group
用户组密码文件:/etc/gshadow
用户配置文件:
/etc/login.defs
/etc/default/useradd
新用户信息文件:/etc/skel (每次创建新用户,系统自动copy该目录下文件到宿主目录)
登录信息:/etc/motd (登录后查看到) /etc/issue(登录前看到)
一、/etc/passwd文件格式
root:x:0:0:root:/root:/bin/bash
用户名:密码位:用户UID:缺省组GID:描述信息:宿主目录:命令解释器shell
用户类型
Linux用户分为三种:
超级用户(root,UID=0)
普通用户(UID 500-60000)
伪用户(UID 1-499)
伪用户
①伪用户与系统和程序服务相关
bin、daemon、shutdown、halt等,任何Linux系统默认都有这些伪用户
mail、news、games、apache、ftp、mysql及sshd等,与Linux系统的进程相关
②伪用户通常不需要或无法登陆系统
③可以没有宿主目录
用户组
①每个用户都至少属于一个用户组
②每个用户组可以包括多个用户
③同一用户组的用户享有该组共有的权限
二、/etc/shadow文件格式
root:$1$dQuKcg6f$ehGXB1iky6S8SJ/GnYYIm1:16622:0:99999:7:::
用户名:加密密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:
账号闲置时间:失效时间:标志
密码都是先写到/etc/passwd中然后再转化到/etc/shadow中,系统自动转化
# pwunconv 回写过去
# pwconv 系统自动调用
三、为什么普通用户可以改密码?
[root@localhost ~]# ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 22984 Jan 7 2007 /usr/bin/passwd
SetUID的定义:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的
身份执行。
①SetUID=4
设置SetUID
chmod u+s
4755
取消SetUID
chmod u-s
755
②SetGID=2
chmod g+s
2755
③粘着位=1 chmod o+t 1777
如果一个权限为777的目录,被设置了粘着位,每个用户都可以在目录下
创建文件,但只可以删除自己是所有者的文件
范例:
1.将touch命令授予SetUID权限
2.查找SetUID程序:
find / -perm -4000 -o -perm -2000
四、添加用户
useradd 设置选项 用户名 -D 查看缺省参数
u:UID
g:缺省所属用户组GID
G:指定用户所属多个组
d:宿主目录
s:命令解释器Shell
c:描述信息
e:指定用户失效时间
[root@localhost ~]# useradd -u 666 -g root -G sys,apache -d /home/zhangsan -s /bin/bash -c "thsi is project zhangsan" -e 2017-7-17 zhangsan
[root@localhost ~]# grep zhang /etc/passwd
zhangsan:x:666:0:thsi is project zhangsan:/home/zhangsan:/bin/bash
passwd 用户名 设置密码
[root@localhost ~]# passwd zhangsan
Changing password for user zhangsan.
用户管理命令
pwck 检测/etc/passwd文件(锁定文件)
vipw 编辑/etc/passwd文件
id 查看用户id和组信息
finger 查看用户详细信息
su 切换用户(su - 环境变量切换)
passwd -S (查看用户密码状态)
who、w 查看当前登录用户信息
用户锁定恢复
#usermod -L username
#passwd -l username
#usermod -U username
#passwd -u username
删除用户
userdel -r 用户名
-r:删除用户目录
手工删除:
使用find命令查找属于某个用户或用户组的文件find选项-user、-uid、-group、-gid
[root@localhost ~]# find /home -user jack
chage 设置密码(unix没用)
-l 查看用户密码设置
...
启动或停用shadow功能
authconfig、/etc/sysconfig/authconfig
五、添加用户组
groupadd groupadd -g 888 webadmin
添加用户组gid为888的webadmin组
删除用户组:groupdel 组名
修改用户组信息groupmod
groupmod -n apache webadmin
修改webadmin组名为apache
用户组管理命令
gpasswd设置组密码及管理组内成员
-a 添加用户到用户组
-d 从用户组中删除用户
-A 设置用户组管理员
-r 删除用户组密码
-R 禁止用户切换为该组
usermod usermod -G 组名 用户名
gpasswd -a 用户名 组名
groups 查看用户隶属于哪些用户组
newgrp 切换用户组
grpck 用户组配置文件检测
chgrp 修改文件所属组
vigr 编辑/etc/group文件(锁定文件)
六、用户组权限示例
[root@localhost ~]# mkdir /software
[root@localhost ~]# ls -ld /software/
drwxr-xr-x 2 root root 4096 Jul 23 17:03 /software/
[root@localhost ~]# useradd jack
[root@localhost ~]# passwd jack
[root@localhost ~]# groupadd softadm
[root@localhost ~]# grep softadm /etc/group
softadm:x:8889:
[root@localhost ~]# usermod -G softadm jack
[root@localhost ~]# gpasswd -a mary softadm
Adding user mary to group softadm
[root@localhost ~]# grep softadm /etc/group
softadm:x:8889:jack,mary
[root@localhost ~]# chgrp softadm /software/
[root@localhost ~]# ls -ld /software/
drwxr-xr-x 2 root softadm 4096 Jul 23 17:03 /software/
[root@localhost ~]# chmod g+w /software/
[root@localhost ~]# ls -ld /software/
drwxrwxr-x 2 root softadm 4096 Jul 23 17:03 /software/
七、批量添加用户
newusers命令 导入用户信息文件
pwunconv命令 取消shadow password功能
chpasswd命令 导入密码文件(格式 用户名:密码)
pwconv命令 将密码写入shadow文件
限制用户su为root,组sugroup:
[root@localhost ~]# groupadd sugroup
[root@localhost ~]# chmod 4550 /bin/su
[root@localhost ~]# ls -ld /bin/su
-r-sr-x--- 1 root root 23960 Mar 1 2010 /bin/su
[root@localhost ~]# chgrp sugroup /bin/su
[root@localhost ~]# ls -ld /bin/su
-r-xr-x--- 1 root sugroup 23960 Mar 1 2010 /bin/su
[root@localhost ~]# usermod -G sugroup miniamin01
设定后,只有sugroup组中的用户可以使用su切换为root
用sudo代替su:
在执行sudo命令时,临时成为root
不会泄露root口令
仅向用户提供有限的命令使用权限
配置文件:/etc/sudoers,编辑配置文件命令visudo,
普通用户使用命令sudo。
格式:用户名(组名) 主机地址=命令(绝对路径)
管理Apache
1.编辑Apache配置文件
2.使用Apache启动脚本
3.更新网页
1、 a设置用户为配置文件所有者 chown
b改变所属组,把用户加入组,授予组w权限
c visudo 用户 地址=/bin/vi /etc/httpd/conf/httpd.conf
2、 visudo 用户 地址=/etc/rc.d/init.d/httpd start,
reload(配置修改) fullstatus configtest(检测无法错误)
3、 /var/www/html 改变所有者或所属组(多个用户管理)
标签:
原文地址:http://www.cnblogs.com/gimin/p/4672204.html