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

第五章、Linux用户及权限详解

2015-07-15 21:31 561 查看
第五章、Linux用户及权限详解03_04_Linux用户及权限详解
今天内容:用户、组、权限
用户,用户组: 都只是标识符
安全上下文(secure context): 权限:r, w, x 文件:r:可读,可以使用类似cat等命令查看文件内容;w:可写,可以编辑或删除此文件;x: 可执行,eXacutable,可以命令提示符下当作命令提交给内核运行; 目录:r: 可以对此目录执行ls以列出内部的所有文件;w: 可以在此目录创建文件;x: 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息; rwx: r--:只读 r-x:读和执行 ---:无权限 0 000 ---:无权限1 001 --x: 执行2 010 -w-: 写3 011 -wx: 写和执行4 100 r--: 只读5 101 r-x: 读和执行6 110 rw-: 读写7 111 rwx: 读写执行 755:rwxr-xr-x:属主 属组 其他 rw-r-----: 640 660: rw-rw----rwxrwxr-x: 775 用户:UID, /etc/passwd:GID, /etc/group 影子口令:用户:/etc/shadow组:/etc/gshadow 用户类别:管理员:0普通用户: 1-65535 系统用户:1-499, 不需要登录系统,只用来运行某些后台服务 一般用户:500-60000 用户组类别:管理员组:普通组: 系统组: 一般组: 用户组类别: 私有组:创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组 基本组:用户的默认组 附加组,额外组:默认组以外的其它组 e.g: 进程:tom tom对象:rwxrw-r-- jerry tom a.txt tom执行ls命令rwxr-xr-x root root /bin/ls, 文件属主各属组
ls 运行时,进程的属主是运行的用户 man 5 passwd/etc/passwdaccount: 登录名password: 密码UID:GID:基本组IDcomment: 注释HOME DIR:家目录SHELL:用户的默认shell, cat /etc/shells查看合法shell man 5 shadow: 查看/etc/shadow文件格式/etc/shadowaccount: 登录名encrypted password: 加密的密码,两个!号表示锁定,不允许登录。格式: $1位$8位$密码 1位段: 加密方法8位段:杂质(随机生成)
加密方法: 对称加密:加密和解密使用同一个密码 公钥加密:每个密码都成对儿出现,一个为私钥(secret key),一个为公钥(public key) 单向加密,散列加密:提取数据特征码,常用于数据完整性校验 特性: 1、雪崩效应 2、定长输出 MD5:Message Digest, 128位定长输出 SHA1:Secure Hash Algorithm, 160位定长输出 非对称加密更长,速度慢,慢3个数量级(1000倍以上)
用户,组添加useradd USERNAMEgroupadd GRPNAME 用户管理: useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage 组管理: groupadd, groupdel, groupmod, gpasswd 权限管理: chown, chgrp, chmod, umask /etc/passwd:用户名:密码:UID:GID:注释:家目录:默认SHELL /etc/group:组名:密码:GID:以此组为其附加组的用户列表 /etc/shadow:用户名:密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间: 用户管理: useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage
04_01_Linux用户管理命令详解
1. useradd [options] USERNAME -u UID -g GID(基本组) -G GID,... (附加组) 一个用户可以属于多个附加组 -c "COMMENT" -d /path/to/directory 指定家目录 -s SHELL ; /etc/shells:指定了当前系统可用的安全shell -m -k 创建家目录,并复制SKEL_DIR(default: /etc/skel) 下的文件到家目录 -M 不创建用户主目录,即使系统在 /etc/login.defs 中的设置 (CREATE_HOME) 为 yes。 -r: 添加系统用户 /etc/login.defs 用户操作的一些选项
环境变量: PATH HISTSIZE SHELL

2. userdel:userdel [option] USERNAME -r: 同时删除用户的家目录 3. id:查看用户的帐号属性信息 -u 显示uid -g 显示基本组id -G 显示附加组id -n 显示名称,而非ID号,结合其它选项 4. finger: 查看用户帐号信息finger USERNAME 5. usermod[b]: 修改用户帐号属性[/b] -u UID -g GID -a -G GID:不使用-a选项,会覆盖此前的附加组; -c "COMMENT" -d -m:修改家目录,并复制原家目录下文件到新家目录下 -s : shell -l : 修改用户名 -L:锁定帐号 -U:解锁帐号 6. chsh: 修改用户的默认shell 7. chfn:change finger 修改更改真名和信息,注释信息 8. passwd [USERNAME]: 密码管理 --stdin 从标准输入接收密码, echo "redhat" | passwd --stdin root -l lock -u unlock -d: 删除用户密码 9. pwck:检查用户帐号完整性 组管理:10. groupadd:创建组 -g GID -r:添加为系统组 11. groupmod -g GID -n GRPNAME 12. groupdel 13. gpasswd:为组设定密码 14. newgrp GRPNAME <--> exit(退出临时组): 临时切换为其他基本组,这时候需要用到组密码(切换到自己的附加组不需要) 练习:1、创建一个用户mandriva,其ID号为2002,基本组为distro(组ID为3003),附加组为linux;# groupadd -g 3003 distro# groupadd linux# useradd -u 2002 -g distro -G linux mandriva2、创建一个用户fedora,其全名为Fedora Community,默认shell为tcsh;# useradd -c "Fedora Community" -s /bin/tcsh fedora3、修改mandriva的ID号为4004,基本组为linux,附加组为distro和fedora;# usermod -u 4004 -g linux -G distro,fedora mandriva4、给fedora加密码,并设定其密码最短使用期限为2天,最长为50天;# passwd -n 2 -x 50 fedora 5、将mandriva的默认shell改为/bin/bash;usermod -s /bin/bash mandirva6、添加系统用户hbase,且不允许其登录系统;# useradd -r -s /sbin/nologin hbase7、 chage:修改用户密码过期时间 -d: 最近一次的修改时间 -E: 过期时间 -I:非活动时间 -m: 最短使用期限 -M: 最长使用期限 -W: 警告时间 04_02_权限及权限管理复习:权限管理:r:w:x: 三类用户:u: 属主g: 属组o: 其它用户 1. chown: 改变文件属主(只有管理员可以使用此命令)# chown USERNAME file,... -R: 修改目录及其内部文件的属主 --reference=/path/to/somefile file,... chown USERNAME:GRPNAME file,...chown USERNAME.GRPNAME file,... 2. chgrp: 改变文件属组# chgrp GRPNAME file,... -R:recursive --reference=/path/to/somefile file,... 3. chmod: 修改文件的权限修改三类用户的权限:chmod MODE file,... -R:recursive --reference=/path/to/somefile file:参考某个文件设定权限 修改某类用户或某些类用户权限:u,g,o,achmod 用户类别=MODE file,...
e.g: chmod go=rw,u=r /tmp/abc
修改某类用户的某位或某些位权限:u,g,o,achmod 用户类别+|-MODE file,...chmod u-x /tmp/abcchmod u+x,g-x /tmp/abcchmod u-rx /tmp/abc
练习:1、新建一个没有家目录的用户openstack;# useradd -M openstack2、复制/etc/skel为/home/openstack;# cp -r /etc/skel /home/openstack3、改变/home/openstack及其内部文件的属主属组均为openstack;# chown -R openstack:openstack /home/openstack4、/home/openstack及其内部的文件,属组和其它用户没有任何访问权限# chmod -R go= /home/openstack 手动添加用户hive, 基本组为hive (5000),附加组为mygroup 1. 修改/etc/passwd文件,data +%s 得到19700101到当前的秒数,使用bc(bc是Linux下的计算器)把秒数除以一天的秒数86400,得到19700101到今天的天数。 2. 创建家目录、复制文件、修改文件权限 3. 修改/etc/shadow文件,使用sslpasswd可以生成加盐的加密串。openssl passwd -1 -salt '12345678'
4. umask:遮罩码文件:666-umask目录:777-umask # umask# umask 022 文件默认不能具有执行权限,如果算得的结果中有执行权限,则将其权限加1; umask: 023文件:666-023=643 X目录:777-023=754 站在用户登录的角度来说,SHELL的类型登录式shell: 正常通常某终端登录 1. su - USERNAME 2. su -l USERNAME 非登录式shell: 1. su USERNAME 2. 图形终端下打开命令窗口 3. 自动执行的shell脚本 bash的配置文件:全局配置 /etc/profile, /etc/profile.d/*.sh, /etc/bashrc个人配置 ~/.bash_profile, ~/.bashrc profile类的文件: 设定环境变量 运行命令或脚本 bashrc类的文件: 设定本地变量 定义命令别名 登录式shell如何读取配置文件?/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc 非登录式shell如何配置文件?~/.bashrc --> /etc/basrc --> /etc/profile.d/*.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: