Skip to main content

Special Permissions

Sticky Bit
The sticky bit is used to indicate special permissions for files and directories. If a directory with sticky bit enabled, will restricts deletion of file inside it. It can be removed by root, owner of file or who have write permission on it. This is useful for publicly accessible directories like /tmp.
Implementation of Sticky bit on file:
Method 1:
# chmod +t tecadmin.txt
# ls -l tecadmin.txt
-rw-r--r-T 1 root root 0 Mar  8 02:06 tecadmin.txt
Mothod 2:
# chmod 1777 tecadmin.txt
# ls -l tecadmin.txt
-rwxrwxrwt 1 root root 0 Mar  8 02:06 tecadmin.txt
In above output it showing sticky bit is set with character t or T in permissions filed. Small t represent that execute permission also enable and capital T represent that execute permission are not enabled.
SUID ( setuid )
If SUID bit is set on a file and a user executed it. The process will have the same rights as the owner of the file being executed.
For example: passwd command have SUID bit enabled. When a normal user change his password this script update few system files like /etc/passwd and /etc/shadow which can’t be update by non root account. So that passwd command process always run with root user rights.
Implementation of SUID on file:
Mehtod 1:
# chmod u+s tecadmin.txt
# ls -l tecadmin.txt
-rwsr-xr-x 1 root root 0 Mar  8 02:06 tecadmin.txt
Method 2:
# chmod 4655 tecadmin.txt
# ls -l tecadmin.txt
-rwSr-xr-x 1 root root 0 Mar  8 02:06 tecadmin.txt
SGID ( setgid)
Same as SUID, The process will have the same group rights of the file being executed. If SGID bit is set on any directory, all sub directories and files created inside will get same group ownership as main directory, it doesn’t matter who is creating.
Implementation of SGID on directory:
# chmod g+s /test/
# ls -ld /test
drwxrwsrwx 2 root root 4096 Mar  8 03:12 /test
Now switch to other user and create a file in /test directory.
# su - tecadmin
$ cd /test/
$ touch tecadmin.net.txt
$ ls -l tecadmin.net.txt
-rw-rw-r-- 1 tecadmin root 0 Mar  8 03:13 tecadmin.net.txt
In above example tecadmin.net.txt is created with root group ownership.


Comments

Popular posts from this blog

Writing a Bash Shell Script

What Are Shell Scripts? In the simplest terms, a shell script is a file containing a series of commands. The shell reads this file and carries out the commands as though they have been entered directly on the command line. The shell is somewhat unique, in that it is both a powerful command line interface to the system and a scripting language interpreter. As we will see, most of the things that can be done on the command line can be done in scripts, and most of the things that can be done in scripts can be done on the command line. Writing Your First Script And Getting It To Work To successfully write a shell script, you have to do three things: Write a script Give the shell permission to execute it Put it somewhere the shell can find it Writing A Script A shell script is a file that contains ASCII text. To create a shell script, you use a text editor . A text editor is a program, like a word processor, that reads and writes ASCII text files. There are...

Basic Linux Commands For Beginner's

Basic Linux Commands for Beginners Linux is an Operating System’s Kernel. You might have heard of UNIX. Well, Linux is a UNIX clone. But it was actually created by Linus Torvalds from Scratch. Linux is free and open-source, that means that you can simply change anything in Linux and redistribute it in your own name! There are several Linux Distributions, commonly called “distros”. A few of them are: Mint Ubuntu Linux Red Hat Enterprise Linux Debian Fedora Kali Linux is Mainly used in Servers. About 90% of the Internet is powered by Linux Servers. This is because Linux is fast, secure, and free! The main problem of using Windows Servers are their cost. This is solved by using Linux Servers. Forgot to mention, the OS that runs in about 80% of the Smartphones in the World, Android, is also made from the Linux Kernel. Yes, Linux is amazing! A simple example of its security is that most of the viruses in the world run on Windows, but not on Linux...

Shell

Definition of the Shell Shell is an interactive environment which provides an interface to an Operating System. It gathers input from user and execute the commands. Bourne shell(sh)- 1977 The Bourne shell was introduced. The Bourne shell(sh), by Stephen Bourne at AT&T Bell Labs for V7 UNIX, remains a useful shell today (in some cases, as the default root shell). The Bourne shell was developed after working on an ALGOL68 compiler, so its grammar is more along the lines of Algorithmic Language (ALGOL) than other shells. The source code was developed in C. The Bourne shell served two primary goals: Executing UNIX/Linux commands for the operating system,i.e, command line interpreter Writing reusable scripts that could be invoked through the shell,i.e, scripting In addition to replacing the Thompson shell, the Bourne shell offered many other advantages over its predecessors such as control flows, loops, and variables into scripts, providing a more functional language to...