linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限
命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用 -h 格式 命令 -h(查看一个命令的简要帮助) 例:useradd -h
用户:
在useradd的命令的可选项帮助中,最重要的三个:
-g:指定用户的组 默认组是在创建用户的时候,系统自动创建一个和用 户名一样的组。
-G:指定用户的附加组
-u:指定用户的UID,UID是唯一的,默认系统自动分配;在Linux中0~499都是系统用户的UID,0是root用户,用户自定义用户UID从500开始。
创建一个用户 useradd 用户名 例 :useradd tom
查看一个用户 命令 id 用户名 例 :id tom
显示:uid=502(tom) gid=502(tom) groups=502(tom) uid:用户ID,gid用户组ID,groups:所属的附加组。
关注UID可使用命令 cat /etc/passwd 查看,会显示出从所有的用户的UID及用户信息
命令:useradd -u uid 用户名 创建一个用户,并手动指定UID例:useradd -u 507 jack
显示:uid=507(jack) gid=507(jack) groups=507(jack)
修改用户信息:
修改用户UID :usermod -u 508 jack
修改用户组: usermod -g tom jack
显示:uid=508(jack) gid=502(tom) groups=502(tom) 用户jack的主用户组就变成了tom
用户创建完以后会有哪些东西:
创建一个用户以后,系统会在/home下自动创建一个以用户名命名的目录
命令 ls -a 可以查看目录 下面的一些隐藏的文件,文件名前带点的都是隐藏文件,如下:
[root@redhat1 tom]# ls -a
. .bash_logout .bashrc .kshrc .mozilla
.. .bash_profile .gnome2 .mkshrc .zshrc
同时会在/etc/passwd文件中创建一些配置信息:
用命令 cat /etc/passwd查看
squid:x:23:23::/var/spool/squid:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
oracle:x:501:501::/home/oracle:/bin/bash
tom:x:502:502::/home/tom:/bin/bash
jack:x:508:502::/home/jack:/bin/bash
x:说明密码是空的;
查看密码使用命令 cat /etc/shadow
显示:
ident:!!:16409::::::
uuidd:!!:16409::::::
nslcd:!!:16409::::::
memcached:!!:16409::::::
squid:!!:16409::::::
tcpdump:!!:16409::::::
oracle:!!:16421:0:99999:7:::
tom:!!:16421:0:99999:7:::
jack:!!:16421:0:99999:7:::
可看到我们创建的用户jack jack后面有两个 !! 说明这个用户是没有被解锁的。
创建用户之后,第一个要做的事情就是给用户配一个密码
命令 passwd 用户名 例:passwd jack
BAD PASSWORD: it is based on a dictionary word :如果你的密码过于简单,系统用会提示这一句,但仍然可以用,再次输入确认密码即可。
删除一个用户
userdel -r 用户名 例:userdel -r jack
-r 删除用户时,会把创建用户时创建的所有文件都删除掉;
如果一不小心没有带-r那也不要急,可以手动的清理一下创建用户时创建的文件,主要有两个,一个是/home下的目录文件,一个是日志文件
rm -rf /home/jack 删除目录
rm -rf /var/mail/jack 删除日志
---------------------------------------------------------------------------------------------------------------------------------------------------------
用户组:
groupadd -g gid 组名 例:groupadd -g 588 tomc
或者 groupadd tomc 系统会自动分配一个gid
注:建组的时候,gid最好不要和用 户的的uid一样。
查看组:cat /etc/group
删除一个组:
groupdel 组名 例:groupdel tomc 注:如果组下有用户是不让删除的,需要先删除用户。
修改一个组的信息
例:修改gid 命令:groupmod -g 599
给一个用户添加主组的同时再添加一人副组
useradd -u 522 -g cc -G tomcat user1
结果:uid=522(user1) gid=599(cc) groups=599(cc),91(tomcat)
-g 添加主组(这个组必须存在)
-G 添加副组。
--------------------------------------------------------------------------------------------------------------------
切换用户
命令 su - 用户名 :例:su - tom 切换用户到tom连同环境变量也切过去。
su 用户名 :例: su tom 切换到tom,但环境变量还使用的root
--------------------------------------------------------------------------------------------------------------------
目录、文件权限。
例:ls -ld jack 查看jack目录的权限
显示:drwxr-xr-x. 2 root root 4096 Dec 14 15:52 jack
权限代码断,三个为一组如 rwxr-xr-x可分为以下:
rwx r-x r-x
用户权限 用户所在组的权限 其他用户组的权限
7 5 5
权限代码相加
r (可读) w (可写) x (可执行)
数字代码: 4 2 1
为目录设置用户 组
命令:chown 用户:组 目录 例:chown oracle:oracle jack
将oracle用户 oracle组设置给jack目录
设置前:drwxr-xr-x. 2 root root 4096 Dec 14 15:52 jack
设置后:drwxr-xr-x. 2 oracle oracle 4096 Dec 14 15:52 jack
可以看到,目录jack的用户组由root 变为了oracle;但这个设置,只是设置了jack目录的用 户组,其子目录或文件并没有设置,想要连子目录也一起设置组,要加上可选项
-R 连带其目录下的子目录也一起更改;
命令 chown -R oracle:oracle jack
为目录或文件设置权限
chmod -R 755 /jack 为jack目录及jack目录下的所有文件设置权限为755 如果只是为jack目录设置权限的话,可以不带-R
默认目录权限755 文件权限 644