您的位置:首页 > 运维架构 > Linux

Linux运维第4天:Linux权限及用户管理

2014-05-29 14:15 726 查看
用户,组,权限

安全上下文(secure context)

权限:r,w,x

    文件:

        r: 可读,可以用类似cat的命令查看文件内容

        w: 可写,可以编辑但不可以删除文件

        x: 可以执行,eXacutable

    目录:

        r: 可以对此目录执行ls以列出内部的文件

        w: 可以在此目录创建文件,删除文件

        x: 可以使用cd切换到此目录,也可以使用ls -l列出详细信息

        

用户:UID,/etc/passwd

组:GID,/etc/group

影子口令:

    用户:/etc/shadow

    组:/etc/gshadow

    

用户类别:

    管理员:0

    普通用户:1-65535

    系统用户:1-499

    一般用户:500-60000

    

用户组类别:

    管理员组:

    普通组:

        系统组:

        一般组:

        

用户组类别:

    私有组:创建用户时,如果没有为其指定所属组,系统自动为其创建一个与用户名同名的组

    基本组:用户的默认组

    附加组:额外组,默认以外的其它组

    

可执行程序运行后的身份是要求执行这个程序的用户身份(发起者)

/etc/passwd:文件结构 man 5 passwd

login name:password:uid:gid:gecos:directory:shell

登录名:密码:UID:GID:注释:用户家目录:shell

/etc/shadow:文件结构 man 5 shadow

login name:encrypted password:last change:min password age:max password age:password warning period:password inactivity period:account expiration date:reserved field

登录名:加密密码:上次更改日期:不能更改密码时间:最大要改密码时间:提醒更改密码时间:强制修改密码:过期时间:保留

在密码加上两个!!可以用户禁止登录

加密方法:

    对称加密:加密和解密使用同一个密码

    公钥加密:每个密码都是成对儿出现,一个为私钥(解密),一个为公钥(加密)

    单向加密,散列加密:提取数据特征码,常用于数据完整性校验

        1.雪崩效应

        2.定长输出

            MD5:Message Digest,128位定长输出

            SHA1:Secure Hash Algorithm,160位定长输出

            

useradd [options] USERNAME 相关文件 /etc/default/ /etc/login.defs /etc/skel/

    -u:uid

    -g:gid(基本组,必须存在)

    -G:gid...(附加组,可以不存在)

    -c:comment(注释)

    -d:home directory

    -s:shell

    -m [-k]:强制创建家目录(-k 拷贝 /etc/skel/下的文件)默认选项

    -M

    -r:添加系统用户

id:查看用户的基本信息

    -un

    -gn

userdel [option] USERNAME

    -r:删除用户所拥有的所有文件

    

finger:查看用户账号信息

修改用户帐号信息:

usermod

    -u 

    -g

    -a -G gid (不使用-a选项,会覆盖此前的附加组)

    -c

    -d [-m] (移动以前的家目录文件到新目录)

    -s

    -l:(修改用户登录名)

    -L:锁定用户帐号

    -U:解锁用户帐号

chsh: change shell

chfn: change finger

密码管理:

passwd:

    --stdin:使用标准输入更改密码

    -l:锁定帐号

    -u:解锁帐号

    -d:删除用户密码

    

pwck:检查用户帐号完整性

组管理:

创建组:

groupadd:

    -g

    -r:添加系统组

    

groupmod:

    -g

    -n groupname

    

gpasswd:为组设置密码

newgrp:切换到指定用户组(登录到一个新组,退出使用exit)

练习:

    1.创建一个用户mandriva,其ID号为2002,基本组为distro(组ID为3003),附加组为linux;

    # groupadd -g 3003 distro

    # groupadd linux

    # useradd -u 2002 -g distro -G linux mandriva

    2.创建一个用户fedora,其全名为Fedora Community,默认shell为tcsh;

    # useradd -c "Fedora Community" -s /bin/tcsh fedora

    3.修改mandriva的ID号为4004,基本组为linux,附加组为distro和fedora;

    # usermod -u 4004 -g linux -G distro,fedora mandriva

    4.给fedora加密码,并设定其密码最短使用期限为2天,最长为50天;

    # passwd -n 2 -x 50 fedora

    5.将mandriva的默认shell改为/bin/bash; 

    usermod -s /bin/bash mandirva

    6.添加系统用户hbase,且不允许其登录系统;

    # useradd -r -s /sbin/nologin hbase

chage:更改密码过期信息

        -d:last day

        -E:expire date

        -m:min day

        -M:max day

        -W:warn day

        -l:list

        

权限管理:

chown:更改文件属主(只有管理员才可以使用此命令)

chown [username][(:|.)grpname] file,...

    -R:递归修改

    --reference=FILE file...(参考)

    

chgrp:更改文件属组

    -R:

    --reference=FILE file...

    

chmod:更改文件权限(位数不够时前面补零)

    --reference=FILE file...

    -R:

    chmod 755 test.txt

    

    修改某类用户或某些类用户权限      

    chmod  a=mode file...

    

            u 

            g 

    chmod   o +|-|= r,w,x file,...

            a 

            

    如果+|-|=之前没有参数,默认为a

    

练习:

    1.新建一个没有家目录的用户openstack;

    2.复制/etc/skel/为/home/openstack;

    3.改变/home/openstack及其内部文件的属主组均为openstack;

    4./home/openstack及其内部文件,属组和其他用户没有任何访问权限
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: