您的位置:首页 > 编程语言 > PHP开发

PHP内核介绍及扩展开发指南

2012-07-27 15:42 519 查看
1. /etc/passwd
由 : 分隔成7个字段
(1) 用户名 规则:大小写字母、数字、减号(不能出现在首位)、点以及下划线,其他字符不合法
(2) x 放密码,安全起见放到 /etc/shadow
(3) uid (0-4294967294=2^32-2) root uid=0 1-499系统保留 普通账户是从500开始 (id +用户)
(4) gid 对应 /etc/group (创建用户会自动创建一个该用户同名的组)
(5) 注释说明,该字段没有实际意义,通常记录该用户的一些属性,例如姓名、电话、地址等等 用 chfn 更改
(6) 用户家目录
(7) shell /bin/bash, /bin/false, /sbin/nologin

2. /etc/shadow
使用 : 分隔9个字段
(1) 用户名
(2) 密码,用SHA-512加密过,不可逆 (*表示账号被锁定,!!表示账户没有密码)
(3)上次更改密码的日期,例如上次更改密码的日期为2012年1月1日,则这个值就是 ‘365 x (2012-1970) + 10 + 1= 15341’.
(4)要过多少天才可以更改密码, 0 表示不限制
(5)密码多少天后到期,默认是99999,可以理解为永远不需要改
(6)密码到期前的警告期限
(7)账号失效期限,到期后过多少天锁定帐号
(8)账号的生命周期
(9)作为保留用的,没有什么意义

3. 新增/删除用户和组
groupadd -g 指定gid /etc/group组 /etc/gshadow组密码
groupdel 如果组内有用户,不能删除
useradd -u uid -g gid -d指定家目录 -M不建立家目录 -s 自定义shell
userdel -r 删除用户的家目录
usermod -u uid -s自定义shell -d指定家目录 -L(锁定一个用户) -U(解锁一个用户) -g(组) -G(扩展组)
chfn命令用来改变finger命令显示的信息。这些信息都存放在/etc目录里的passwd文件里。若不指定任何选项,则chfn命令会进入问答式界面。
-f<真实姓名>或--full-name<真实姓名>:设置真实姓名;
-h<家中电话>或--home-phone<家中电话>:设置家中的电话号码;
-o<办公地址>或--office<办公地址>:设置办公室的地址;
-p<办公电话>或--office-phone<办公电话>:设置办公室的电话号码;
-u或--help:在线帮助;
-v或-version:显示版本信息。

4. 创建、修改用户密码
passwd
创建密码的规则:长度大于10;含大小写字母数字以及特殊字符 ;不规则性;不要带有自己名字、公司名字、自己电话、自己生日等。
mkpasswd 生成密码的工具,安装 expect包
mkpasswd -l 12(12长度密码) -s 0(0个字符) -d 4(4个数字) -C(大写字母) -c(小写字母)
passwd --stdin +用户(明文密码,不加用户默认root)

5. 用户身份切换
su - 用来初始化环境变量 $PATH $HOME等
sudo su到root需要输入root的密码不安全
visudo 编辑/etc/sudoers 配置文件 没有命令需安装 yum install -y sudo
格式: user host=(as_user) commands
比如: aming ALL=(root) /bin/ls //它的意思是,让aming这个普通用户,拥有root的权限,针对ls这个命令。

应用:只允许使用普通账户登陆,而普通账户登录后,可以不输入密码就能sudo切换到root账户 (root不允许远程登录
User_Alias USER_SU = test, test1, aming //做用户的别名,可以写多个用户
Cmnd_Alias SU = /bin/su //做命令的别名,可以写多个命令
USER_SU ALL=(ALL) NOPASSWD: SU //其中NOPASSWD的意思是,普通用户使用sudo的时候,不需要输入自己的密码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: