You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

242 lines
8.2 KiB
TeX

% Options for packages loaded elsewhere
\PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{hyphens}{url}
\documentclass[
]{article}
\usepackage{amsmath,amssymb}
\usepackage{titlesec}
\usepackage{titling}
\usepackage{lmodern}
\usepackage{xcolor}
\usepackage{iftex}
\usepackage[margin=1in]{geometry}
\ifPDFTeX
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xetex
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\fi
% Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
\usepackage[]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
\IfFileExists{parskip.sty}{%
\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
}{% if KOMA class
\KOMAoptions{parskip=half}}
\makeatother
\definecolor{myblue}{RGB}{24, 102, 201}
\titleformat{\section}
{\huge\bfseries\color{myblue}}
{}
{0em}
{}[\titlerule]
\titleformat{\subsection}
{\Large\bfseries}
{}
{0em}
{}
\titleformat{\subsubsection}[runin]
{\bfseries}
{}
{0em}
{}[:]
\titlespacing{\subsubsection}
{0em}{0.75em}{0.5em}
\titlespacing{\subsection}
{0em}{1em}{0.65em}
\titlespacing{\maketitle}
{0em}{0em}{0em}
\renewcommand{\maketitle}{
\begin{center}
{\huge\bfseries \theauthor}\\
\vspace{.35em}
\href{https://sufyaan.me/doas}{sufyaan.me/doas}
\end{center}
}
\usepackage{color}
\usepackage{fancyvrb}
\newcommand{\VerbBar}{|}
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
% Add ',fontsize=\small' for more characters per line
\newenvironment{Shaded}{}{}
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
\newcommand{\ExtensionTok}[1]{#1}
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
\newcommand{\NormalTok}[1]{#1}
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
\newcommand{\RegionMarkerTok}[1]{#1}
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
\ifLuaTeX
\usepackage[bidi=basic]{babel}
\else
\usepackage[bidi=default]{babel}
\fi
\babelprovide[main,import]{english}
% get rid of language-specific shorthands (see #6817):
\let\LanguageShortHands\languageshorthands
\def\languageshorthands#1{}
\ifLuaTeX
\usepackage{selnolig} % disable illegal ligatures
\fi
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\urlstyle{same} % disable monospaced font for URLs
\hypersetup{
pdftitle={(POST) Use Doas Instead Of Sudo},
pdflang={en},
colorlinks=true,
linkcolor=blue,
filecolor=blue,
urlcolor=blue,
pdfcreator={LaTeX via pandoc}}
\title{Sufyaan's Website}
\author{Sufyaan's Website}
\date{}
\begin{document}
\maketitle
\section[Use Doas Instead Of Sudo]{Use Doas Instead Of Sudo}\label{why-i-use-terminal-apps}
\textbf{20 April 2023}
\textbf{Category: }Linux \& Software \& Guides
Sudo. It is often used by Linux users to perform commands with root
privileges instead of being in a root shell all the time. However,
\href{https://access.redhat.com/security/cve/CVE-2023-22809}{there has
recently been a vulnerability in sudo due to which people are switching
to doas.}
\hypertarget{what-is-doas}{%
\subsection[What is Doas?]{What is Doas?}\label{what-is-doas}}
OpenDoas or Doas is a portable version of the doas utility that is used
on OpenBSD. OpenDoas can be installed on Unix-like system which includes
Linux. It is designed to be more minimal and has less configuration
options than sudo. If you are on a personal computer, then I highly
recommend you switch to doas because it has a much smaller codebase
which leaves less room for error.
However, if you are part of a professional environment with many
individuals needing to use sudo, I recommend staying with sudo because
it offers more configuration options to be used for groups and users.
\hypertarget{installing-doas}{%
\subsection[Installing Doas]{Installing Doas}\label{installing-doas}}
Doas is available on almost all major distributions. If your
distribution is Debian-based (Ubuntu, Linux Mint, Zorin OS), simply
type:
\texttt{sudo\ apt\ install\ doas}
If you run an Arch-based system (Artix, Arco, Endeavour, Manjaro), type:
\texttt{sudo\ pacman\ -S\ opendoas}
If you use RHEL-based systems (Fedora, CentOS), type:
\texttt{sudo\ dnf\ install\ opendoas}
Doas should now be installed but it will not work out of the box. There
is one line that we need to add to the configuration file.
\hypertarget{configuring-doas}{%
\subsection[Configuring Doas]{Configuring Doas}\label{configuring-doas}}
You have to configure doas as it is not included in most distributions
by default but do not fret! One of its plus points is that its
configuration is much better than sudo\textquotesingle s.
To begin, edit the /etc/doas.conf file as root.
If you are the only user on your system and do not plan to allow other
users to use your system, this line will suffice.
\texttt{permit\ persist\ username\ as\ root}
Many distributions have a group (wheel, sudoers) that are allowed to run
sudo commands. If you would like to allow that group to send commands as
root, type this:
\texttt{permit\ persist\ :wheel\ as\ root}
\hypertarget{using-doas}{%
\subsection[Using Doas]{Using Doas}\label{using-doas}}
Using doas is incredibly simple. Just type doas instead of sudo. For
example, if you usually type:
\texttt{sudo\ pacman\ -Syu}
then just type:
\texttt{doas\ pacman\ -Syu}
I also recommend aliasing doas to \textquotesingle doas
-\/-\textquotesingle{} since it causes issues sometimes if you just use
doas. Apart from that, this is it for the setup.
\hypertarget{conclusion}{%
\subsection[Conclusion]{Conclusion}\label{conclusion}}
If you are the only person on your Linux machine, you should switch to
doas. It is much more lightweight and is similar to sudo. It has a
smaller codebase which, in my opinion, prevents exploits from popping up
as often as sudo.
However, if you are in a professional environment, you should stick with
sudo.
\end{document}