linux用户管理

linux用户管理

linux 下有三类用户
       1.超级用户:root 具有操作系统的一切权限 UID 值为 0  (只要用户的UID为0 权限和管理员一模一样)
       2.普通用户: 普通用户具有操作系统的有限的权限 UID值为 500-6000
       3.伪用户: 是为了方便系统管理,满足相应的系统进程文件属主的要求,UID 不能登录 1-499(apache ftp)

passwd /etc/passwd  只定义账号 不定义口令
       在改文件中一行定义一个用户,分七部分
       账号名称: root
       用户密码: x    (说明有密码 把x删掉登录时就不需要密码了)
       用户标识码(用户id)
       组标识码
       用户相关信息
       用户家目录
       用户环境 (shell)   (echo $SHELL)  sh命令 进入sh exit(退出) (一般好像是bin shell)
       
       
       编辑用户信息
       baiwenzhao:x:501:501::/home/baiwenzhao:/bin/bash
       baiwenzhao:x:505:501::/home/baiwenzhao:/bin/sh
       重新登录
       echo $SHELL
       /bin/sh
       id baiwenzhao
       
       uid=505(baiwenzhao) gid=501(baiwenzhao) groups=501(baiwenzhao)
       
/etc/shadow  这个文件只有root用户可以读  这个文件用冒号间隔9个字段组成
        用户名:root
        口令:存放加密口令  如果这个口令的第一个字符时!则这个用户不能登录
        最后一个修改时间  用户最后一次修改的天数
        最小时间间隔    两次修改密码之间的最小天数
        最大时间间隔    密码保持有效的最多天数
        警告时间        从系统开始警告到密码失效的天数
        账号闲置时间    账号闲置时间
        失效时间        密码失效的绝对天数
        标志            一般不使用
        
pwconv      把/etc/passwd 中的密码移动到/etc/shadow
pwunconv    同pwconv相反
        
用户账号管理
    创建账号
       1.在/etc/passwd中添加一条记录
       2.创建用户主目录
       3.在用户主目录中设置默认的配置文件
       4.设置用户初始口令
       
       useradd 或 adduser 命令创建
       
       useradd -u 600 -g 500 -G 501 -d /home/www -s /bin/sh -c mynet userlib
       -u -g -G -d -s -c
       
       
       userdel user  删除用户 (家目录不能删除)
       userdel -r user  (可以删除家目录及所有信息)
       
       更改用户名
       usermod -l thisuser(new) myuser
       
       usermod -L thisuser  (锁定用户)
       usermod -U thisuser   (解锁)
       
       在配置文件最前面加# 禁用账号
       
       查看密码信息
       passwd -S thisuser
       
       passwd -l thisuser  (加锁)
       [root@localhost home]# passwd -S thisuser
       thisuser LK 2011-12-19 0 99999 7 -1 (Password locked.)
       
       passwd -u thisuser  (解锁)  (用passwd -l 加的锁  用usermod -U 也可以解锁 但要执行两次)
       
       
       在/etc/skel的文件在创建用户的时候 用户的家目录的文件就是/etc/skel下的文件  存放了用户最基本的配置信息文件 环境变量

/etc/login.defs 里面定义了添加用户的配置信息
/etc/default/useradd 里面定义了添加用户的配置信息

/etc/motd   登录成功显示给用户的信息
/etc/issue  尝试登录显示给用户的信息

shell
/bin/sh
/bin/bash
/sbin/nologin  伪用户用的shell

复习
man 5 /etc/passwd  5表示查看配置文件的信息
wc -l /etc/passwd  //查看配置文件有多少行
echo "1343" | md5sum  md5加密
man 5 /etc/shadow
grep root /etc/passwd /etc/shadow

chown xiaobai xiaobai  分配权限给小白



为什么普通用户可以修改密码
/etc/passwd 对普通用户是只读的

ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27000 Aug 22  2010 /usr/bin/passwd
s(SetUID)
SetUID的定义:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序
所有者的身份执行
umask  0002  第一位若为4表示SetUID

#chmod 4755 /bin/touch
#ls -l /bin/touch
-rwsr-xr-x. 1 root root 50644 May 31  2011 /bin/touch
#su - xiaobai
#touch file04
-rw-rw-r--. 1 root xiaobai 0 Jan 10 20:42 file04

chmod u+s    u-s
      4755   755
      
chmod g+s    g-s
      2755   755
      
既是用户 又是用户组
chmod 6755

查找所有具有SetUID权限的命令
find / -perm -4000 -o -perm -2000
-o表示或得意思

umask
0002
第一位为1表示粘着位

SetUID  所有者
SetUID  所属组
粘着为1  其他人  用t表示

如果用户对目录有写的权限 就可以在这个目录下创建删除文件

如果一个权限为777目录具有粘着位,每个用户都可以在这个目录下创建文件,但是只能
删除自己创建的文件

chmod o+t abc

ls -ld /tmp
drwxrwxrwt. 27 root root 4096 Jan 10 20:37 /tmp

你可能感兴趣的:(linux用户管理)