linux是多用户系统,不同用户不同权限。为了保护系统安全,linux对不同用户访问同一文件的权限做了不同的规定。
linux中我们可以使用ll或ls -l命令显示一个文件的属性以及文件所属的用户和组,如:
在linux中第一个字符代表这个文件是目录、文件或链接文件。d是目录,-是文件,/表示链接文档。后面的字符中,以三个为一组,且均为rwx的三个参数的组合。没有权限,就会出现减号。chmod更改文件9个属性两种方法,数字和符号。数字代表各个权限:r:4 w:2 x:1。1,2,3,4,5,6,7。chmod 777 filename【更改用户权限方法一:chmod u=rwx,g=rx,o=r filename【更改用户权限方法二:重新赋值,注意两者之间逗号】。chmod a-rw filename chmod o+x filename【更改用户权限方法三:用户类型首字母加减权限符号文件名】
创建新用户:useradd newusername
切换用户:su - username
以根用户身份进入普通用户目录,(pwd确定位置,whoami确定身份)。使用root用户的身份创建一个文件letter,touch letter.此时letter文件的属主是root,文件的属组是root。使用ll letter只看一个文件,ll看所有文件的权限情况。
给用户改密码:切换到root,使用命令passwd username设置新密码。
当张三的目录对other开放r权限的时候,使用ls命令可以看见文件夹中内容,但是无法进入张三的目录。
使用系统资源,先向系统管理员申请一个账号。
系统管理员可以做啥呢:
*添加新的用户账号使用useradd命令:
useradd –d /usr/sam -m sam
此命令创建了一个用户sam,
-d 指定用户登入时的启始目录;
-m 自动建立用户的登入目录;
* useradd -s /bin/sh -g group –G adm,root gem
该用户的登录Shell是 /bin/sh
它属于group用户组
同时又属于adm和root用户组
*删除一个已有的用户账号使用userdel命令
userdel -r sam
删除用户sam在系统文件中 /etc/passwd, /etc/shadow, /etc/group 里的记录,同时删除用户的主目录。
*Linux操作系统用户信息的存放位置与详细说明
用户信息存放在 /etc/passwd 文件中,通过cat /etc/passwd 可以看到文件信息。
root:x:0:0:root:/root:/bin/bash
1:用户名,用户登录系统时使用的用户名;2:密码位;3: UID,用户标识号;4: GID,缺省组标识号;5:注释性描述;6:家目录,用户登录系统后的缺省目录 7:用户使用的shell,默认为bash用户密码文件:为安全起见,用户真实的密码采用MD5加密算法加密后,保存在/etc/shadow配置文件中,该文件只有root用户可以读取。第一个字段为用户帐户名,第二个字段为账户的密码。
*用户口令的管理
指定和修改用户口令的Shell命令是passwd
超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。
如果默认用户名,则修改当前用户的口令。
passwd
如果是超级用户,可以用下列形式指定任何用户的口令
passwd sam
*为用户指定空口令时,执行下列形式的命令:
passwd -d sam
*锁定某一用户,使其不能登录
passwd -l sam
*修改帐号
修改已有用户的信息使用usermod命令。
usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。
*用户组的管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
*增加一个新的用户组使用groupadd
groupadd group1
groupadd -g 101 group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
*如果要删除一个已有的用户组,使用groupdel命令
groupdel group1
*修改用户组的属性使用groupmod命令
groupmod -g 102 group2
此命令将组group2的组标识号修改为102。
*改变文件的所有者
chown:更改文件属主,也可以同时更改文件属组
chown bin(要给谁) install.log(文件)将install.log的拥有者改为bin这个账号
chown root:root install.log 将install.log的拥有者与群组改回为root
注意:-R 递归更改文件属组,在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
普通用户无法完成文件夹及文件的改变属主和属组的权限,只有管理员有此改的权限。
改变文件的权限需要在该文件所在位置更改。