Linux技术研究-基础篇(linux常用指令和权限管理)
那么我们学习了这么多命令 又有那么多参数 该如何记忆呢? 怎么查看命令帮助 ls --help man ls man 的类型章节 重点 1 用户命令 5 配置文件 8 管理员命令 帮助的阅读方法 ...代表可重复 []代表可选择 {}<>代表必选项 |代表其中之一 info 类似浏览网页 有连接 比man更全面 TAB寻找*连接 ?帮助 man 和 info 也有搜索功能 rpm包自带的帮助文档 /usr/share/doc/ 网络vim 编辑器 模式切换:编辑模式 命令模式 命令行模式字符操作 i 当前插入 I 行首插入 a 当前字符之后插入 A 行尾插入 o 下一行插入 O 上一行插入 x 向后删除一个字符 X 向前删除一个字符 u 撤销一步 U 撤销所有更改 c 剪切行操作 ^ 行首 $行尾 dd 删除一行 Ndd yy 复制一行 Nyy p 将复制行粘贴 P上粘 词操作 dw 删除一个词 yw 复制一个词 块操作 d$ 删至行尾 d^ 删至行首 y$ 复制至尾 y^ 复制至首 v 模式 进入v模式 移动光标选择区域 VIM命令行操作 :%s/old/new/g :set nu/nonu :e! 重新读入 / 正查 ? 反查 : !ls 调用系统命令 用户管理 (增删改切) 用户都存储哪些信息? 用户名 密码 用户识别码UID 组识别码GID 家目录HOME shell 备注linux系统是支持多用户的系统 用户分为三种以UID来区分 超级用户 UID = 0 在系统中拥有至高无上的权限. 系统用户 UID 1-499 bin,ftp,mail等,不具备登录系统的权利,却是系统运行不可缺少的. 普通用户 UID 500-60000 管理员建立的用户.密码和权限都由管理员制定. 群组都存储哪些信息? 组名 组密码 组识别码 组成员Linux系统中的组是把一系列具有相同属性的用户加以规划后的集合. 组也是分种类的 用GID来标识 超级组 GID = 0 系统组 GID = 1-499 普通组 GID = 500-60000 添加 修改 删除 登录 useradd -u UID -d 主目录 -g GID -G 附属组 -s 登录使用的SHELL passwd -d 删除口令 -S 查看密码状态 -x 密码最大时间 -n 密码最小时间 -w 密码警告时间 -i 密码过期锁定时间 --stdin 非交互添加密码 echo "123" | passwd --stdin seker id 查看验证主要属组与附属组 主要属组:每一个用户都必须有且只有一个主要属组,因为文件在建立时就会使用到主属组 附属组 :每一个用户可以加入其它组,这些组被称为用户的附属组 需要注意的是一个用户建立时,如果不明确指定,则系统自动建立一个与用户名相同的群组 同时将这个群组也设置为该用户的附属组 他们都是为了linux内的系统权限分派而存在的.用户创建的流程 /etc/passwd /etc/shadow /etc/group /etc/gshadow mkdir /home/username cp /etc/ske1/.* /home/username chown username:username /home/username 演示手动创建用户 建立用户后如何更改 usermod -u UID -d 主目录 -g GID -G 附属组 userdel -r 删除主目录及其文件 su 切换用户 以root用户切换其他用户则不需要密码 而其他用户做任何切换都需要密码 su - 加 - 与不加 - 的区别 [seker@lan2 ~]$ id uid=502(seker) gid=503(zorro) groups=502(seker),503(zorro) [seker@lan2 ~]$ su root 口令: [root@lan2 seker]# ifconfig bash: ifconfig: command not found [root@lan2 seker]# pwd /home/seker [root@lan2 seker]# echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/seker/bin:/home/seker/bin [root@lan2 seker]# exit exit [seker@lan2 ~]$ id uid=502(seker) gid=503(zorro) groups=502(seker),503(zorro) [seker@lan2 ~]$ su - root 口令: [root@lan2 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:F9:41:37 [root@lan2 ~]# pwd /root [root@lan2 ~]# 这是为什么呢?我们都知道,有些命令是只有管理员才能使用的,一般用户没有权限.就像本例中的 ifconfig.用第二种方法切换身份,相当于重新登陆,此时用户的家目录和PATH等信息会发生改变,和直接用root登陆一致;但第一种情况,切换到root身份后用户的家目录和PATH仍然是原先一般用户的家目录和PATH,我们知道,PATH里设置的是一些路径,指向一些目录,这些目录包含着一些常用的工具.如果你的PATH没有设置相应的路径,那么直接运行ifconfig系统肯定会找不到ifconfig工具在哪里.所以会提示:没有这个命令. 切换组 gpasswd sekergroup su - zorro sg - sekergroup xxx xxx id gpasswd -r sekergroup 清除密码 登录后检查 whoami 查看当前用户身份 who 登录本机用户及来源,+表示mesg是否开启接收的标志 w 登录用户在做什么 id 验证用户和查看用户的群组 users 都有哪些登录用户退出登陆 exit 退出登陆shell logout 退出非登录shell 演示 [root@lan2 ~]# bash [root@lan2 ~]# logout bash: logout: not login shell: use `exit' [root@lan2 ~]#基本权限 对于一个文件他具备 读r 写w 执行x - rwx rwx rwx root root 第一个字符标识文件的类型, 之后9个字符,每三个为一组,分别对应后面的用户和组所具有的权限 第一个root是用户 第二个root是组 前两组就与此对应 那么最后一组是给谁用的呢? 画个系统用户集合图 其中之一是所属用户(属主user),一部分是属组group,剩余部分则是第三组权限,我们称它为other,也就是既不是属主又不是属组中的成员文件的: r 对应的系统命令 cat w 对应的系统命令 vi echo > x 执行 例如 ls 目录的: x 进入目录 cd rx 读目录里的内容(目录里存放着其包含的文件和子目录名字) cd + ls wx 删除和移动目录中的文件和子目录 mv rm获取权限的流程 开始 --_> root --> 给予所有权限 -------\ |--> user --> 分派user位权限-------\结束 |--> group--> 分派group位权限------/ |--> other--> 分派other位权限-----/更改文件拥有者 chown user file 更改属主 chown :group file 更改属组 chown user:group file 主和组一同更改 -R 参数 递归更改更改文件权限 (两种方式 字符和数字) 字符模式 赋值操作 chmod u=rwx file chmod g=rx file chmod o=r file 组合操作 chmod ug=rw file chmod u=rwx,g=rx,u=x file chmod a=rwx file 加减运算 chmod +x file chmod ugo-x file 数字模式 rwx rwx rwx 421 421 421 7 7 7 3=1+2; 5=4+1; 6=4+2;7=4+2+1 chmod 644 file chmod 755 dir系统默认权限 umask [root@lan2 seker]# umask 0022 [root@lan2 seker]# mkdir mask022_dir [root@lan2 seker]# touch mask022_file [root@lan2 seker]# umask 002 [root@lan2 seker]# mkdir mask002_dir [root@lan2 seker]# touch mask002_file [root@lan2 seker]# ll mask0* -d |awk '{print $1,$NF}' drwxrwxr-x mask002_dir -rw-rw-r-- mask002_file drwxr-xr-x mask022_dir -rw-r--r-- mask022_file [root@lan2 seker]# |