02、用户管理

用户管理
    用户分类:
按系统分:
根用户(管理员)  用户id为0,如root
 
系统用户 
用户id在 1-499 之间
这些用户主要是系统内置的一些程序或服务使用的
 
普通用户 管理员创建的,使用、登录系统的用户
用户id 一般从 500 开始
按作用分:
管理员
 
普通成员
 
用户识别不是靠用户名的,而是用户id (uid)
 
与用户和组相关的配置文件
/etc/passwd    帐号
/etc/shadow   密码
/etc/group 组名
/etc/gshadow 组密码
 
/etc/login.defs 帐号限制文件
/etc/default/useradd 新建用户的默认规则文件
/etc/skel 默认用户家目录模板
 
 
 
/etc/passwd 文件解释
 
root:x:0:0:root:/root:/bin/bash
 
tom:x:500:500::/home/tom:/bin/bash
mary:x:501:501::/home/mary:/bin/bash
文件由冒号分隔成7段
 
第一段:用户名
第二段:密码,x 表示密码放在 /etc/shadow
               为空表示登录不要密码也有把密码直接放在这里了,但这样,不太好
    
第三段:用户id
第四段:组id (主要组)
第五段:注释、描述
第六段:家目录
第七段:使用的shell
       如果是 nologin 是不能登录的
     
/etc/shadow  解释
tom:$6$vDEz/2Mn $zVObUxy6QALb.8crTWB7JRsleXz56Un4Ia93ES6m8eaPcB.
        jWUwThxo9wub/H2wESuwgFJUDu51GUwm3OUshQ.:15644:0:99999:7:::
     mary::15644:0:99999:7:::
 
 
第一段:用户名
第二段:密码
第三段:上次修改密码的时间(15644),表示的是距离1970年1月1日的天数
第四段:两次修改密码的最小间隔天数
第五段:密码的有效期
第七段:密码到期的多少天提示
第八段:帐号的过期时间,以距离1970年1月1日的天数来表示的
第九段:暂时未用
/etc/group
tom:x:500:
mary:x:501:
 
第一段:组名(默认建一个用户后,会建一个同名的组)
第二段:组密码
第三段:组id(gid)
第四段:组成员
/etc/gshadow
tom:!::
mary:!::
 
第一段:组名
第二段:组密码
第三段:组管理员
第四段:组成员
 
用户管理命令:
    useradd 创建用户
格式:useradd [option]  用户名
option:
    -g 指定gid (主要组,唯一的)
    -G 指定要加入的组(可以有多个)
    -s  使用的shell
例: useradd tom
 
注:建了用户后,会在用户的家目录下产生几个隐含的文件 .bash_profile .bashrc
   这些文件是从/etc/skel 拷来的
 
    groupadd 创建组
格式: groupadd [option] 组名
option:
    -g   指定组的id(gid)
 
 
例:groupadd admin
 
    gpasswd 管理组
格式: gpasswd  [option] 组名
 
[option]   
    -a 为组添加成员
    -d 将成员删除
 
    -A 指定组的管理员
    -R 限制用户临时登录到组,只能组中的成员才可以使用本组身份
 
 
    练习:
建两个组,为每个组加一些成员
 
想一下,怎么验证成员加进来了
groupadd g1
groupadd g2
useradd u1    
useradd u2
 
gpasswd -a tom g1
gpasswd -a u1 g1
 
gpasswd -a mary g2
gpasswd -a u2 g2
 
也可以在建用户时就指定它加入的组
useradd -G g1 u3
 
验证方法:cat /etc/group
                cat /etc/gshadow
 
id u1
id tom
id u2
id mary
 
指定一个组的管理员,然后用管理员再去加成员
useradd u4
gpasswd -A tom g1
su - tom
    gpasswd -a u4 g1
 
 
newusers  根据一个配置文件创建用户
    格式: newusers 文件名
 
    [root@s100 test]# cat myfile
uu:x:510:508::/home/uu:/bin/bash
uu4:x:511:510::/home/uu4:/bin/bash
 
    [root@s100 test]# newusers myfil
 
passwd 设置用户密码
    格式:passwd [用户名]
 
    passwd 不加用户名,设置自己的密码,如果加了用户名就是设置其他用户的密码
    另:新建的用户,如果没设置密码是不能登录的
 
 
    passwd 的其它功能
-l    锁定帐号(这种锁定实际是在密码前加 !! )
-u      解锁
 
usermod 修改用户信息
    语法:usremod [option] 用户名
    option:
  -l   username 修改用户名
-g   groupname   修改主要组
-G   groupnames 修改用户加入的组
-u   uid 修改uid
-s   shell 修改其shell
    练习;把tom的用户给改掉,同时uid 改名1000,再验证看改过来没
 
userdel  删除用户
    语法:userdel [-r] 用户名
 
id 查看用户和组信息
    
    例:id
        id mary
  id tom
id u3
 
 
su  切换用户
    su  用户名
    
    su - 用户名
 
    su -   这种方式会应用新用户的环境变量(即会对新用户进行初始化),如果没有 -
           用户信息从上一个用户继承
 
    如果再回到上一个用户,建议使用 exit ,而不是再次 su - ...
    
    另,有时候,只想以某个用户的身份运行一些命令,那可以
 
    su - username -c 'command'
 
    例:su - mary -c 'echo $HOME'
 
groupmod  修改组信息
    格式:groupmod [option] group_name
 
    [option]
-g  gid 修改组的id
-n  group_name 修改组名
 
    例:将组dept 改成 abc
groupmod -n abc dept
 
 
groups 显示当前用户加入了哪些组
    groups
 
newgrp  临时加入到一个组
    格式:newgrp   group_name
 
    exit 退出
 
 
who    查看登录到服务器的用户
 
 
wall  发广播
wall
输入信息
ctrl + d 结束输入
 
 
write 给指定用户发消息
write mary
输入信息内容
ctrl + d 结束输入
 
mesg  查看设置是否接收信息
mesg y   --接收
mesg n   --不接收
 
 
 
权限
    linux 中文件访问用户分类
  u    属主
g 开放组
o 其它用户
 
a 所有用户
 
 
    linux 文件目录的基本权限
r(4)
w(2)
x(1) 执行
 
 
    基本权限对文件、目录的作用
r 对文件来讲,它可以看它的内容
对目录来讲,它可以看它下面有哪些文件和子目录(ls)
 
w 对文件来讲,可以修改它的内容
对目录来讲,它可以在它下面创建子目录和文件,也可以删除目录和文件
 
x 对文件来讲,它可以运行
对目录来讲,它体现为,是否可以进去 (cd)
 
    能不能读文件内容取决于:
对方件是否有读权限
 
    能不能把文件删除取决于:
看对文件的上一级目录是否有写权限
 
    能不能修改文件内容取决于:
主要是看对文件是不是有写权限,
 
如果对文件没有写权限,但是对它的上一级目录有
  写权限,可以在命令行下,强制修改
 
设置权限:
    chmod 权限指派  文件名
 
    权限指派的方法:
u=rwx,g=r,o=   --指派每类用户的权限(不管原来是什么权限)
u=rw,g=rw,o=r
u+x,g-x        --在原有权限基础上进行权限的添加与去除
 
 
755          --数字法,每类用户用1位数,第1位数,对属主设置
                 2位数,对组设置,第3位数,对其它用户设置
 
    例:创建一个文件,自己可以读写、同组的用户只能读,其它用户不能访问
touch a
chmod u=rw,g=r,o= a
chmod 640 a
 
    例:创建一个文件,所有用户只能读
touch b
chmod a=r b
chmod u=r,g=r,o=r b
chmod 444 b
 
chown 设置属主和组
    格式:chown 用户名:组名 文件名
 
    例:将文件属主设置为 mary,开放给dept组
touch c
chown mary:dept  c
 
 
    思考:
创建一个文件(/test/test.txt),让 tom 能读写、smith、mary 能读,
        其它用户不能访问
 
tom   smith mary      
 
属主              其它用户
 
useradd t1
useradd t2
useradd tom
useradd smith
useradd mary
groupadd tt
gpasswd -a smith tt
gpasswd -a mary tt
cp /etc/yp.conf /test/test.txt  
 
chown tom:tt /test/test.txt
 
chmod 640 /test/test.txt
 
 
默认权限:
    默认由umask 决定的,umask 表示要去掉的权限
    由于安全方面的考虑,文件生下来就没有执行权,所以文件和目录的默认权限计算方法:
目录:  777 - umask
文件:  666 - umask
 
 
    要设置文件或目录的默认权限,那就要修改umask,umask 对每个用户都可以设置为不同
 
修改umask方法:
    修改一个用户:
vim ~用户名/.bashrc
 
     umask 222
        如:
    vim ~mary/.bashrc
umask 222
 
    修改所有用户:
vim /etc/bashrc
 
umask ...
 
查看umask
umask
 
    临时修改:
umask 222
 
 
 
    练习:修改一个用户的文件默认权限,让自己能读写、同组用户只能读、其它用户不能访问
 u:  rw    去掉是执行(但是对目录最好要有执行权)所以最好只设置为  0
         g:  r     去掉的是写(但是对目录最好要有执行权)所以最好只设置为  2
 o:        可以设置为 7
 
 
特殊权限:
    权限名       对文件的影响    对目录的影响   设置方法
   sticky(t)    不适用         只有属主才能   chmod o+t  或
                              删除自已的文件  chmod 1xxx
 
 
练习:创建一个目录,让所有的人都能往该目录存文件,建文件,但只能删除自己创建的
mkdir /aaa
chmod 1777 /aaa
su - ...
cd /aaa
touch a b c d
 
su - ...
cd /aaa
touch e f g h
 
rm a
rm e
 
 
 
 
要掌握的内容:
    1、要会创建用户、组、会为组添加成员
 
    2、要会设置权限,修改属组
       为复杂的要求,解决权限问题
 
    3、默认权限设置和特殊
 
 
    例:创建一个目录,tom、mary 能在该目录中创建文件、删除文件、查看
      uu 能看,其它用户不能访问,所有用户只能删除自己创建的文件
 
 

猜你喜欢

转载自www.cnblogs.com/steven9898/p/11331161.html
今日推荐