嵌入式软件工程师&&太极拳
全部博文(548)
分类: LINUX
2011-02-17 17:23:38
删除用户 userdel acer userdel -r mj 修改密码 passwd bash环境变量文件 用户相关的,放在每个用户的家目录,不用用户可以不一样,可以由用户自己来编写: .bash_history 记录用户的历史命令,当用户退出登录的时候,才会把历史命令记录到这文件 history !109 !! .bash_logout 用户退出登录的时候执行的文件 .bash_profile 关于环境变量的作用 , 例如:PATH .bashrc <---包含主配置文件,并且设定用户自定义的命令别名,或者存放一些个人脚本,设定以后,要重新打开终端才生效,或者运行su - ,这个配置文件是在用户登录的时候(运行新的bash)才读取的 全局的配置文件,只能由管理员编辑: /etc/bashrc 设定命令别名: alias mmj='ls -al' 用户身份的切换 管理员任意切换到任意的普通帐号,并不需密码 su - mj 完全切换,不继承之前那个用户的环境变量,使用该用户自己的环境变量 su mj 不完全切换,继承切换之前的用户的环境变量 要返回原来的身份 exit id \ finger \ chfn ------------------------------------------ [root@dns mj]# id hellen uid=543(hellen) gid=543(hellen) groups=543(hellen) [root@dns mj]# gpasswd -a hellen mj 正在将用户“hellen”加入到“mj”组中 [root@dns mj]# id hellen uid=543(hellen) gid=543(hellen) groups=543(hellen),544(mj) [root@dns mj]# gpasswd mj 正在修改 mj 组的密码 组的密码的作用: 当某些用户想临时加入到某个分组里时,就需要提供密码才能加入;如果该组没有密码么,就不允许用户自己临时切换到该组,重新打开新的终端就不生效 临时加入某个组: newgrp grpname 还可以通过组管理员的方式,或者直接是系统管理员运行命令,把某个用户永久的添加到某个分组里: # gpasswd -A hellen mj <--把hellen作为mj分组的管理员 这时候,组管理员hellen就可以把任意用户添加到mj这个组 gpasswd -a tom mj 新建分组 # groupadd newgrp 练习: 添加一个新的分组mygrp,并把用户mj作为这个分组的管理员,mj用户通过命令把tom用户添加到mygrp分组里。mj用户给mygrp组设定一个组密码。 修改管理员家目录里的bash配置文件,添加一个命令别名mymnt,让你可以运行mymnt的时候就可以快速挂在到我的服务器的资源10.1.1.20:/share/ftp_source/class/12 修改bash定义环境变量的全局配置文件,让所有人登录之后,可以运行 echo $hello 之后输出一下的内容: Welcome to Uplooking vim /etc/pfofile hello="Welcome to Uplooking" ------------------------------ 用户Shell /bin/bash <---默认的 /sbin/nologin <---不允许登录系统 ,还不允许登录ftp /bin/false <---也不允许登录系统,但可以登录ftp ===================================================== 权限 -rw-r--r-- 1 root root 2835 12-08 14:03 file2 rw-,r--,r-- 拥有者权限(u),拥有组权限(g),其他人(o) r --- read 读的权限 针对文件,就代表是否能够读取文件的内容 , 对管理员不生效 针对目录,就代表是否能对这个目录里面的内容进行列表 w --- write 写(修改)权限 针对文件,就代表是否能对文件进行修改,必须注意,这不代表有权限删除文件 , 对管理员不生效 针对目录,就代表是否能在这个目录下创建新文件或删除文件 x --- execute 执行权限 一般是针对可执行文件(程序,脚本等) 针对文件,就是代表是否能够运行该文件,对管理也生效 针对目录,就是代表是否能够进入该目录 存在一个特殊例子: 当一个用户对某个目录具有写的权限,而该目录下的某个文件不具有任何的权限,但是该用户还是可以用vim “编辑”这个文件。 原因: 由于该用户对目录具有写的权限,vim编辑器会删除原来的文件,然后以该用户的身份保存为新的文件。 为了解决这些特殊例子,就要使用到访问控制列表acl,是一种权限补充手段 文件权限的修改: chmod u=rwx,g=rx,o=r filename chmod u-x,g=rx,o+x ./shadow rwx,r-x,r-- 111, 101, 100 --> 754 ---> chmod 754 filename 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 文件属主等修改: chown root:hellen ./passwd chown mj.root ./shadow chgrp mj passwd <---只修改文件的拥有组信息 chown -R mary:root /tmp/test 《--- R 递归更改 chmod -R 600 /tmp/test 练习: 用管理员创建目录/tmp/test 并修改权限要求如下: 拥有者具有所有权限 拥有组可以进去该目录,可以在该目录下创建文件,删除文件,但不能对目录进行列表 其他人可以对能进入该目录,可以对目录列表,但不能新建文件和删除文件 该目录的拥有者是root,拥有组是mj 新建用户hellen,并把他加入mj这个分组 新建用户mary,她不属于mj组,但默认初始化组属于hellen。 问题:hellen 对/tmp/test有什么权限?mary ? [root@dns test]# mkdir /tmp/test [root@dns test]# ll -d /tmp/test drwxr-xr-x 2 root root 4096 12-09 14:38 /tmp/test [root@dns test]# chmod u=rwx,g=wx,o=rx /tmp/test [root@dns test]# ll -d /tmp/test drwx-wxr-x 2 root root 4096 12-09 14:38 /tmp/test [root@dns test]# groupadd mj [root@dns test]# chgrp mj /tmp/test [root@dns test]# ll -d /tmp/test drwx-wxr-x 2 root mj 4096 12-09 14:38 /tmp/test [root@dns test]# useradd -G mj hellen [root@dns test]# useradd -g hellen mary umask 改变创建目录和文件的默认权限 管理员 0022 ,创建文件夹之后的默认权限是 0777-0022=0755 创建文件 0666-0022 = 0644 普通帐号(要求用户名和用户的组名一样,否这umask 是0022) 创建目录 0777-0002=0775 创建文件 0666-0002=0664 chattr ,lsattr lsattr filename chattr +i filename <---就算是管理员也不能修改文件,删除文件 chattr -i filename chattr +a filename <---只允许通过类似echo "xxxx" >> ./filename 追加内容到文件的最后,也不能删除文件 ============================================ 特权位、粘贴位(stick bit) 命令运行的时候需要一个身份,这个身份一般就是运行者的身份 特权位: 更改命令运行的时候的身份,身份由原来的运行者改变为命令的拥有者本身 一般来说,特权位只针对命令才有用。 chmod u+s /bin/touch chmod u+s,g+s /bin/touch 但是 g+s 还可以针对目录进行设定,设定之后,作用就是: 在该目录下创建的子文件和子目录都会自动继承该目录的拥有组的信息 粘贴位: chmod o+t ./dirname 当一个目录设定了粘贴位,那么该目录下的所有文件已经文件夹都只能由拥有者本身删除,别人不能删除 练习: 1、分别使用两个不同的帐号运行touch命令创建不同的文件,对比一下文件的拥有者和拥有组的信息 2、对/bin/touch命令设定特权位 chmod u+s /bin/touch,再分别使用两个不同的帐号运行touch命令创建不同的文件,创建之后把文件的属性和题目1创建的文件对比,看看却别?说出原因。 3、在题目2的基础上,对/bin/touch命令设定特权位 chmod g+s /bin/touch.再分别使用两个不同的帐号运行touch命令创建不同的文件,创建之后把文件的属性和之前创建的文件对比,看看却别?说出原因。 4、更改/bin/touch的拥有者或者拥有组,然后重新做1-3题。 5、创建一个目录,让所有人都具有读写执行权限,分别使用两个不同帐号在该目录创建文件,看看是否能删除对方的文件?原因?然后把该目录的权限设定一下: chmod o+t /你创建的目录 然后再重复之前的操作,分别使用两个不同帐号在该目录创建文件,看看是否能删除对方的文件?原因? 6、思考题: 解析为什么普通用户不能对/etc/shadow文件进行任何操作,但运行passwd更改自己的密码的时候可以把/etc/shadow文件里的内容作出修改呢?原因? 7、如果想禁止所有人更改密码,应该怎么操作,使用chattr命令。如果想禁止添加用户呢? ===================================== ifconfig ifconfig eth0 ifconfig eth0 up ifconfig eth0 down 设定网卡的IP ifconfig eth0 10.1.1.21 netmask 255.255.255.0 <--命令更改都是临时生效,重启网络服务器之后就不再生效 永久生效: # vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 <---设备名字,注意:设备名字一定和要配置文件的名字一样 ONBOOT=yes <---网络服务启动的时候,是否启用该网卡 BOOTPROTO=static <---网卡启动的协议,分别有dhcp,static IPADDR=10.1.1.20 <---如果是static就必须存在这个字段 NETMASK=255.255.255.0 <---有需要,还要设定掩码 GATEWAY=10.1.1.1 <---网关 ------------ DEVICE=eth0 <---设备名字,注意:设备名字一定和要配置文件的名字一样 BOOTPROTO=dhcp <---网卡启动的协议,分别有dhcp,static HWADDR=00:1D:0F:16:4C:AE <---硬件地址,可选 修改完配置文件之后,必须重启网络服务器才生效 service network restart 设定 MAC 地址,建议不要去改 # vim /etc/sysconfig/network-scripts/ifcfg-eth0 HWADDR=00:1D:0F:16:4C:AF # ifconfig eth0 down # ifconfig eth0 ether hw 00:1D:0F:16:4C:AF # service network restart 设定子接口,可以相当于绑定多个IP # ifconfig eth0:2 172.168.11.2 netmask 255.255.255.0