linux 用户管理
用户信息:/etc/passwd 用man查看配置文件 ------ man 5 passwd文件 密码文件:/etc/shadow 用户配置文件:/etc/login.defs 添加用户的缺省用户信息 /etc/default/useradd 添加用户的缺省用户信息 /etc/issue 用户登录之前的提示信息 /etc/motd 用户登录之后的提示信息 cat /etc/shells 查看系统中的shell wc -l /etc/passwd 统计用户个数 用户名:最好字母 ,没有特殊要求 密码:密码位,实际没有存放密码 UID: GID: 注释性描述 宿主目录 命令解释器 默认uid = 500 用户分为3种: 超级用户:(root,uid = 0) 普通用户:(uid 500-60000) 伪用户:(uid 1-499) /sbin/nologin 伪用户--为了安全 linux中任何一个命令的操作都必须有一个用户的身份 伪用户一般和系统或者程序服务相关 bin,daemon,shutdown ,halt linux默认都有这些伪用户 伪用户通常不需要或无法登陆系统 可以没有宿主目录 gid:组id 添加一个用户肯定会有一个隶属的组 即使不指定,也会默认指定一个组 每个用户都至少属于一个用户组 每个用户组可以包括多个用户 同一个组的用户享有改组公共的权限 window中会存在一个用户组属于另一个组,但linux中不可以这样 echo "123456"|md5sum 经常改变密码 服务器隔离 删除shadow中的密文部分,用户就不在需要密码了 最小时间间隔 : 最大时间间隔 :到时间必须更改密码 pwconv passwd 转到 shadow /sbin/nologin 【无法登陆】 pwunconv 会写回去 unix中不提供pwunconv命令 新添加用户的缺省配置: /etc/login.defs /etc/default/useradd 登录信息:/etc/motd(登录成功才显示) /etc/issue(是否登录成功都显示) 手工添加用户 1、/etc/passwd添加一行 :密码没有可以设置为空 2、/etc/shadow 拷贝一行,密码如果没有可以设置为空 3、添加宿主目录,注意把宿主目录的所有者给用户 3、新用户信息文件 /etc/skel 用useradd命令添加的时候会自动拷贝到宿主目录下面 当一个程序具有setuid的权限,用户执行这个程序的时候,将以这个程序的所有者的身份执行,linux命令大部分的所有者为root, 也就说当用户执行一个具有setuid的命令的是时候会瞬间转换成管理员的身份,命令执行完毕后在转换成普通用户 设置setuid权限: setuid=4 所有者 chmod u+s /bin/touch 4755 /bin/touch chmod u-s /bin/touch 755 setgid=2 chmod g+s /g-s 2755 6755 同时授予setuid + setgid #查找系统当前有setuid和setgid的文件 find / -perm -4000 -o -perm -2000 0 表示不限制 -o or 或者的意思 粘着位: 1 ls -ld /tmp/ /tmp 目录默认具有黏着位的属性 应用对于 目录是777的权限增加黏着位 每个用户都可以创建文件,但只可以删除自己创建的文件, 对于不是777的目录设置黏着位没有意义,对文件设置黏着位也没有意义 chmod o+7 1777 用户组配置文件:/etc/group man 查看信息 组名:组密码位: 作用:可以让不是这个组的成员切换到这个组,为了安全一般不用这个功能 GID; 组内用列表 添加组:groupadd 组名 groupadd -g 组id 组名 useradd -D 查看添加用时的默认信息 即查看/etc/default/useradd文件 -u 指定uid 必须是系统中不存在的 -g 指定所属的组 -G 指定用户所属的多个组 -d 宿主目录 -s 指定的shell -c 描述信息 当描述信息有空格的时候必须用户引号引起来 -e 指定用户的实效时间 useradd -u 888 -g webadmin -G sys,root -d /backup -s /bin/bash -c "描述" -e 2011-01-05 用户名 改用户名:usermod -l new old 改变用户所属于的组 usermod -G 组名 用名 #改变所属组(一个用户可以属于多个组) 查看/etc/group usermod -g 组名 用名 #改变默认组 查看/etc/passwd gpasswd(所有的linux os) 设置组密码,及管理组成员 #设置组密码同时管理组内的成员 gpasswd -a 用户名 组名 --添加 gpasswd -A 用户名 组名 #提升此用户为管理员 gpasswd -d 用户名 组名 --删除 gpasswd 组名 #给组设置一个密码 gpasswd -r 组名 删除组密码 gpasswd -R 禁止用户设置为该组 /etc/gshadow 组密码配置文件 grpconv grpunconv 类似密码那个 转化过去以后好多对组操作的功能就不可用了,必须在转化回来 切换到组: newgrp 组名 在用id查看现在属于哪个组 groups [组名] #查看用户隶属于哪个组 id:查看用户id和组信息 finger:查看用详细信息 groupadd 组名 #添加组 groupdel 组名(不能删除是用户默认组的组) #删除组 groupmod -n new_name old_name #更换组名 pwck 检测/etc/passwd文件(锁定文件) 检测文件错误信息 当用户出现异常的情况时可以用此命令 错误行会提示 vim 打开文件时不会锁定文件 vipw(打开passwd文件时会锁定文件) tty:本地 pt/s 远程终端 su - 会同时切换环境变量 echo $PATH passwd -d 用户名 删除此用户的密码 passwd -S 用户名 检测此用户的密码 usermod -L 用户名 #锁定一个用户 passwd -l 用户名 #锁定一个用户 passwd -S 用户名 查看密码状态 原理:锁定后 密码前面会多两个!! 可以直接编辑配置文件(/etc/shadow)进行更改 删除组也可以直接修改配置文件 usermod -U 用户名 #解锁一个用户密码 passwd -u 用户名 #解锁一个用户密码 登陆用户信息 who(简单) w (详细) groups 查看用户隶属于哪些用户组 newgrp 切换用户组 grpck 检测用户组配置文件 chgrp 修改文件所属组 vigr 编辑/etc/group 文件(锁定文件) 删除用户 userdel -r 用户名 ?其他有些文件是此用户创建的并不能删除 find /home -user jack find /home -uid uid find /home -group 组名 find /home -gid gid find ./ s.sam -ok rm {} \; 找到后确认删除? 1、对需要保留的文件 进行移动和备份 2、对不需要的文件进行删除 3、清除用户文件中的相关项 4、清除用户宿主目录 #查看用户密码更直观 /etc/shadow chage -l root 查看用户密码设置 具体用法看 help 帮助 authconfig 对应 /etc/sysconfig/authconfig system-config-? 批量添加用户 1、newusers 导入用户信息 newusers < user.info 文件格式就是密码文件的格式 2、pwunconv 3、passwd.info 格式: 用户名:密码 a00:123456 a01:123456 a02:123456 a03:123456 4、导入密码文件:chpasswd < pass.info 5、pwconv ———————————————————————————————————————————————————————— 只有指定的用户可以用su命令切换到管理员 1、groupadd sugroup 2、/bin/su (默认权限就有s位,) chomd 4550 /bin/su 3、改变所属组 chgrp sugroup /bin/su 4、加入到组中 usermod -G 组名 用户名 在执行sudo命令时,临时成为root 不会泄露root口令 仅向用户提供有限的命令使用权限 sudo 让普通用户以root身份执行命令 /etc/sudoers 配置文件 用vi直接编辑不会生效 /usr/bin/sudo /usr/sbin/visudo 只有管理员+visudo才可以编辑配置文件 命令都要用绝对路径(先用which查看) sudo配置文件格式: 用户名(组名) 主机地址=命令(绝对路径) 多个命令用逗号分割 在sudo配置文件中给用户权限以后 要在命令前面+sudo /usr/sbin/useradd 注意普通用户命令的搜索路径: echo $PATH linux 中缺省每个命令的所有者都是 root sudo -l 在用户登录的情况下查看被授权的命令 命令精确化 csdn2 helen=/sbin/shutdown -h now 限制命令的参数 授予一个用户管理apache 1、编辑配置文件 2、使用apache脚本 3、更新网页 1、设置用户为文件的所有者 root不受任何限制,即使文件的所有者不是root 2、改变所属组,授予组w权限 3、visudo ________________________________________________________________________________ httpd start|restart|fullstatus|reload(重新读取配置文件,不会影响服务) |configtest(检测语法错误) csdn localhost=/etc/rc.d/init.d/httpd start _____________________________________________________________ grep DocumentRoot /etc/httpd/conf/http.conf 对目录有写权限就行 /var/www/html 改变所有者 —————————————————————————————————————————————————————————————— john the ripper 密码增强工具 安装:make linux-x86-see2 如果不是标准的源代码包,肯定会有帮助文档,找下
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。