IT技术互动交流平台

账号管理和文件权限

作者:佚名  来源:IT165收集  发布日期:2016-06-15 21:15:43

1帐号管理
1.su student 和su - student 的区别
前者只是把用户切换到student。但是环境没有切换到student的环境
注意我们切换用户的时候最好要写su - student
2组的管理

3监控一个文件
watch tail /etc/group   tail -f /etc/group第二个如果不管用的话就用第一个吧
4用户的管理
添加用户
-u 指定UID
-g 指定初始组GID 可以写  -g  1002当然这得是已存在的组才行或者 -g westos
   不写-g的话默认会创建一个和用户名同名的组。
-G 指定附加组。就是这个用户不仅属于初始组还让他属于另外的组。
   Usermod -G westos test 就是把test附加到westos组中会在/etc/group 相应行的即westos那一行的最后一个冒号后面多一个test也可以手动给组加用户写入test或者在已有的内容后面加上”,tsest”)
Usermod -G redhat test 就是把test 附加到redhat 组中了。。可是他就不再属于westos了。如果想让他在保留原来附加组的情况下继续附加到其他组要使用 -aG:
Usermod -aG redhat test 这样test不仅属于westos 也属于 redhat
-c  指定注释信息
-d 指定家目录 
-md 移动家目录
   Usermod  -md /home/test/Desktop/test  test 会相当于 mv /home/test /home/test/Desktop/test
-s 指定所使用的shell 对usersdd usermod都适用

删除用户
userdel  -r  newuser
-r 会把家目录以及家目录里面的文件以及邮件池也删掉。如果不加-r  /etc/passwd  /etc/group 会发生相应变化。但是家目录不会被删掉。当下次再建立newuser的时候会报错因为/home/newuser这个目录已经存在了。
修改用户
Usermod -L newuser 锁住也就是冻结用话操作的是/etc/shadow。是在第二列即密码那一列前加了一个“”。只是让密码失效了没有让用户失效。
冻结前

冻结后
 

5 手动建立用户
1[root@foundation1 ~]# useradd test
可以看到/etc/passwd 和 /etc/shadow 中都多了一行test。但是shadow中test的第二个子段是没有密码的是两个!

2因为没有密码所以不能登陆

3给test一个密码

可以看到shadow里test的第二个字段也发生了变化。Test可以登陆系统了

【注意】
如果是vim /etc/passwd 来添加的一个用户还有修改/etc/group  /etc/shadow 等还得在home下创建加目录。最后还得把/etc/skel的所有文件拷贝到加目录下。这样bash的命令提示符才正常。
6 root 用sudo下放权限
系统中有些命令只能root执行普通用户不能执行。如果向普通用户以root身份来执行某些命令可以用sudo来声明所执行的命令是root下放的。
例如
Virt-manager 只有超级用户才可以执行成功。

让你输入root的密码。现实你不知道的。这就需要root 下放权限。
1先看自己的主机名然后看看要执行的命令的绝对路径。

2root执行以下命令visudo 来编辑下放权限的列表。Visudo 修改的是/etc/sudoers这个文件。也可以vim  /etc/sudoers 。 两种方式都可以。最好用visudo 因为它会进行语法检查。

在文件里面加一行随便在哪里加都行。意思是kiosk 这个用户 可以在foundation1.ilt.example.com 这个主机上 以root的身份来执行foundation1.ilt.example.com这个命令。这时候kiosk 再执行 sudo  virt-manager 会读刚才编辑的那个文件。就可以执行刚才那条命令了。不过这时候还是要输入 kiosk 的密码。如果连kiosk的密码都不想输入。则在命令前面加上“NOPASSWD”


3kiosk就可以以root身份执行那条命令了

4如果想要撤销授权的话就注释调就好了

7 which查看命令的绝对路径

8 上课时用到的几个命令
1ss -antple | grep 80
2Systemctl restart http.servise
3Id student

4Gurb-md5-cyrpt 的使用

5Yum whatprovides */grub-md5* 重点是whatprovises 这个参数
6/etc/issue是开机时会读取显示给用户的。/etc/passwd  /etc/group  /etc/shadow   /etc/skel/.*
7touch -t 09280710 file 如果file是已经存在的文件会改变文件的modify time。如果file 不存在会创建,并把access time 和modify time 改称指定的时间不过change time 是以系统为准的。


9  /etc/login.defs
里面定义了一个新建的用户的一些初始设定如。。。等
MAIL_DIR        /var/spool/mail
GID_MIN                  1000
GID_MAX                 60000
# System accounts
SYS_GID_MIN               201
SYS_GID_MAX               999
CREATE_HOME     yes
 
# The permission mask is initialized to this value. If not specified,
# the permission mask will be initialized to 022.
UMASK           077
 
# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes
 
# Use SHA512 to encrypt password.
ENCRYPT_METHOD SHA512
 
9更改文件权限&&拥有者和组
1更改权限

递归更改目录的权限的话就是要改这个目录还要改目录里面的文件的权限。
Chmod 755 /mnt/test -R
 
2更改用户和组
Ls -lR /mnt/第归显示mnt 里面的内容
Chown student.:westos /mnt/fine 写点或者冒号都可以
Chown lee.lee /mnt/test/  改目录的用户和组
Chown -R lee.lee  /mnt/tets/ 这个会把目录以及目录下面的文件的用户和组都更改可
 
10 特殊权限
O+t stick
对目录进行操作。规定目录里面的文件只能被他的所有者删除
每个人进到/pub目录只能建立编辑删除自己的文件而不能动别人的文件
 
G+s
对目录进行操作,也可以对命令进行操作。就是让执行命令的人创建出来的文件继承命令的组。chmod g+s /shengchan/技术部的人去生产部造了一个东西这个东西得属于生产部。对目录其作用。在目录中创建的文件的组必须和这个目录的组一样。也就是不管谁建立的文件这个文件的组必须继承目录的组。文件的拥有者可以是创建的人。但组必须和目录的一样。
 
U+s
对命令而言的。不能对目录其作用技术这个人要把考勤表放到财务部的目录 中来结算工资。touch
执行命令的时候变成了财务部的人执行完之后又变成技术部的人了
Chmod u+s touch
/home/jishu/touch  /caiwu/kaoqin
 
 
11 红帽的安全 umask
新建目录的默认权限是umask 755  drwxr_xr_x 
新建文件会在上面的基础上再减去一个111 -rw_r__r__即644
病毒是一个文件下载到你电脑上以后内核会自动把文件的可执行权限去掉即去掉所有的x
Umask 可以列出当前环境的umaks
 
/etc/profile 中的第1个umask是用户的umask。 第2个umask是系统用户的root也是系统用户
还有/etc/bashrc 也是一样的。另外/etc/login.defs 里面也有umask这个参数。
1普通用户

新建目录是775 新建的文件是664

 


2系统用户

新建的目录权限是755 新建的文件是644

修改umask
/etc/profile内容

/etc/bashrc内容

11 grep的某些特殊用法
Grep -r hello /mnt/   在/mnt/ 下的所有文件以及文件夹中找包含hello的行
Grep  -r  ^ hello   /mnt/ 第归查找所有以hello开头的行。结果会显示出文件名以及找到的行的内容
Grep   hello$  file 在file中查找以hello结尾的行
Grep -v  hello$  file 在file中找所有不以hello结尾的行
12 关于/dev/pts/ 下的 0 1 2
每当我们打开一个终端就会生成以数字为名字的文件。打开第一个终端会产生一个0  第二个终端会产生一个1。在当前终端下输入ps 就能查看当前是pts/? 更直接的命令就是输入tty
当关闭终端是这个/dev/pts/下的相应的文件也就消失了。
比如我现在在pts/0下
[root@foundation1 ~]# echo hello > /dev/pts/1
在1的终端下就会有显示
Tag标签: 账号   权限   文件  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规